Javascript – Problem der Beibehaltung von Dezimalzahlen in ganzen Zahlen
世界只因有你
世界只因有你 2017-05-19 10:12:54
0
5
543

Ich hoffe, eine Zahl auf zwei Dezimalstellen zu beschränken, runden Sie sie ab
Ich habe versucht, die toFixed-Funktion zu verwenden, und ihr Inhalt ist korrekt, aber sie gibt eine Zeichenfolge zurück. Wenn ich beispielsweise Number(1.00) explizit konvertiere, wird sie zu 1.

Wie erhalte ich also eine Zahl mit zwei Dezimalstellen und der Rückgabetyp ist eine Zahl?

世界只因有你
世界只因有你

Antworte allen(5)
淡淡烟草味

窃以为:如果是用于页面展示,那么字符串也无所谓吧?如果是用于操作运算,就算是 1(不是1.00)也无所谓吧?

某草草

1.00这种格式的只能用字符串保存,不可能用数字类型保存。

无论你做什么处理,你要显示1.00这种东西只能用字符串。

左手右手慢动作

首先,toFixed方法本身是有bug的,其次,js中Number的结构中不包含精度,如果你需要包含精度的数字,自己写一个类就可以

仅有的幸福
var num=1.256;
Math.floor(Math.round(num*100))/100;

可以封装成方法:
function unitNormalization(arr,digit){
        /*单位规整*/
        var digit=digit||0;
        var prence=Math.pow(10,digit);
        if(Array.isArray(arr)){
            var backArr=[];
            for(var i=0;i<arr.length;i++){
                backArr.push(Math.rou(Math.round(arr[i]*prence))/prence);
            }
            return backArr;
        }else{
            var num=Math.floor(Math.round(arr*prence))/prence;
            return num
        }
    }

unitNormalization(1.253,2)//1.25
unitNormalization(1.257,2)//1.26
我想大声告诉你

parseFloat(1.236.toFixed(2))

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!