javascript - 不使用 .toFixed() 将浮点格式设置为两位小数

标签 javascript decimal substring

我有一个漂浮物, 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在某些浏览器中不起作用。

最佳答案

回答标题中的问题

How to find how many decimal digits in a float?

'.'的位置与字符串形式的浮点长度进行比较。

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

关于javascript - 不使用 .toFixed() 将浮点格式设置为两位小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15884329/

相关文章:

Python:从列表中删除/过滤等号

c 从文件中读取并获取两个字符之间的字符串

c - strncpy 追加 1 个额外(奇怪或随机)字符

javascript - 精细上传验证集

javascript - Dojo HTML 模板 : repeating a piece of HTML inside the HTML template

javascript - Jquery在输入时为带小数的数字添加逗号

mysql - 我应该在 Mysql 中将价格存储为小数还是整数?

javascript - 为什么我要将函数添加到对象原型(prototype)而不是将其添加到对象?

javascript - 如何从子窗口更改 kendoGrid 中单元格的值?

php - 始终将小数四舍五入到指定精度