Javascript如何将十进制数转换为具有特定小数位数的字符串



在javascript代码中,我需要将小数格式化为特定的小数位数,并获得其精确的字符串表示。例如,如果数字是999999999.9,小数位数是8,那么期望值应该是"0";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.00000000008";函数toString((返回科学记数法,即类似于";9e-8";

那么,应该采取什么样的正确方法呢?

Number.prototype.toLocaleString将完成

num.toLocaleString('en-US', {minimumFractionDigits: 8, useGrouping: false})//"999999999.90000000"

最新更新