在 javascript 代码中,我需要将十进制数格式化为特定的小数位数并获取其确切的字符串表示形式。例如,如果数字为 999999999.9 且小数位数为 8,则预期值应为“999999999.90000000”
当使用 Number.toFixed(8) 时,它返回一个舍入的值,这不是我想要的。请参考以下代码
var num = 999999999.9
var string_rep = num.toFixed(8)
>> the value of string_rep is "999999999.89999998"
我使用 num.toString() 并尝试通过添加/删除数字来手动格式化小数部分,但它不适用于非常小的数字,如“0.00000008”,因为函数 toString() 返回科学记数法,即类似“9e” -8"
那么正确的方法应该是什么?
Number.prototype.toLocaleString
会做的伎俩
num.toLocaleString('en-US', {minimumFractionDigits: 8, useGrouping: false})//"999999999.90000000"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句