在不使用. tofixed()的情况下用两个小数格式化float

Format float with two decimals without using .toFixed()

本文关键字:两个 小数 float 格式化 tofixed 情况下      更新时间:2023-09-26

我有一个float,Var a = 324620.8

,我想让它看起来像这样A = 324620.80

这是我目前的代码,

    var a_float = a;
    var a_int = parseInt(a);
    d = a_float - a_int;
    if(d <= 0){
        a = a_int+'.00';
    }else{
        if(d < 0 && d > 0.1){
            a = a_int + d + '0';
        }else{
            a = a_float;
        }   
    }

这只适用于一个十进制数字。我想让它在我有2个十进制数字时工作。

.toFixed在某些浏览器中无法工作

回答标题中的问题

如何找到多少小数在浮点数?

比较'.'的位置和float的长度作为String

var x = 1.2345,
    x_str = x.toString(),
    decimal_digits = x_str.length - x_str.lastIndexOf('.') - 1;
decimal_digits === x_str.length && (decimal_digits = 0); // case no decimal
decimal_digits; // 4
toFixed("2");>
var f = 1.3454545;
f.toFixed(2);
var decimal = 4.0;
var a = (decimal).toFixed(2); 

console.log(a); // outputs 4.00