Heim > Web-Frontend > js-Tutorial > Hauptteil

So runden Sie js-Werte

一个新手
Freigeben: 2017-09-08 13:23:34
Original
2916 Leute haben es durchsucht

Die Methode 1.toFixed() kann Number auf eine Zahl mit angegebenen Dezimalstellen runden.

NumberObject.toFixed(num)
Nach dem Login kopieren

num muss geschrieben werden und die Anzahl der Dezimalstellen angeben, was einem Wert zwischen 0 und 20 entspricht , einschließlich 0 und 20, können einige Implementierungen einen größeren Wertebereich unterstützen. Wenn dieser Parameter weggelassen wird, wird stattdessen 0 verwendet.

当num超过20的时候,js会出错,这东西好像只能传一个数字进去,字符串会爆不是一个方法
Nach dem Login kopieren

Fehler in der Methode:

<span style="color:#33cc00">Number(13.35).toFixed(1); //13.3 <br>Number(0.055).toFixed(1); //0.1<br>原因:<span style="font-size:13.3333px; font-family:PingFangSC-Regular,Verdana,Arial,微软雅黑,宋体">原生toFixed(x)截取小数的时候会有误差</span><br>//如果要修改这个缺陷,可以把js中的number类型的tofixed方法重写。</span>
Nach dem Login kopieren

2.Math.round() Die Methode rundet eine Zahl auf die nächste ganze Zahl.

Math.round(x)
Nach dem Login kopieren

x ist der Wert, der berechnet werden muss. Die Methode gibt die dem angegebenen numerischen Ausdruck am nächsten kommende ganze Zahl zurück.

Vorhandene Fehler in der Methode

<span style="background-color:rgb(255,255,255)"><span style="color:#009900">Math.round(num * Math.pow(10, 2)) / Math.pow(10, 2);  //num是待处理数字</span></span><span style="color:rgb(0,153,0); font-size:13.3333px; font-family:PingFangSC-Regular,Verdana,Arial,微软雅黑,宋体; background-color:rgb(255,255,255)">Math.pow(10, 2)=100</span><span style="background-color:rgb(255,255,255)"><span style="color:#009900"><br>当num = 10.10500时,计算上述表达式可得10.11。(正常)<br>当num = "10.50000"时(注意这里是字符串),计算上述表达式可得10.5。(damn it,小数点后位数不对!)</span></span>
Nach dem Login kopieren
原因:当num是字符串,进行乘法操作时,进行了类型转换,后缀零被丢弃了,导致位数不足,这个时候我们就应该进行补0
Nach dem Login kopieren

Lösung:

<span style="background-color:rgb(255,255,255)"><span style="color:#003300">var iTofixed =function(num,fractionDigits) {<br> return (Math.round(num*Math.pow(10,fractionDigits))/Math.pow(10,fractionDigits)+Math.pow(10,-(fractionDigits+1))).toString().slice(0, -1)<br>};<br>iTofixed('13.5000',3);<br>//"13.500"</span></span>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo runden Sie js-Werte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage