将十进制数转换为float并截断它

时间:2012-04-30 19:35:24

标签: javascript floating-point decimal

我有一个号码

例如:

8183

我需要的是将其转换为浮点数 -

例如8183

(8183).toFixed(2);

会回复我

8183.00

但是我需要进一步截断它,所以最终的数字将是

8.18

所以基本上我需要使用只有2位小数的浮点数。 我尝试使用Math.floor和ceil,但无法解决它!

2 个答案:

答案 0 :(得分:7)

你想要完成的事情并不完全清楚,但我认为如果你先除以1000,然后在它上面调用toFixed,它会给你想要的结果。

var before = 8183;
var after = (before / 1000).toFixed(2); //8.18

答案 1 :(得分:4)

你可以除以10,直到你小于10:

var digits = 8183;
while((digits = digits/10) > 10) {}
digits = digits.toFixed(2); // 8.18

对于负数,您可能希望存储一个布尔值并使用Math.abs(digits)

对于小于0的数字,您需要多次而不是除数。


如果您真正想要的只是科学记数法,请使用toExponential(2)