Javascript如何将十进制数转换为具有特定小数位数的字符串
Javascript How to convert a decimal number to a string with specific number of decimal places
在 javascript 代码中,我需要将十进制数格式化为特定的小数位数并获得其精确的字符串表示形式。例如,如果数字是 999999999.9,小数位数是 8,那么期望值应该是“999999999.90000000”
当使用 Number.toFixed(8) 时,它 returns 一个四舍五入的值,这不是我想要的。请参考以下代码
var num = 999999999.9
var string_rep = num.toFixed(8)
>> the value of string_rep is "999999999.89999998"
我使用了 num.toString() 并尝试通过 adding/removing 数字手动格式化小数部分,但它不适用于像“0.00000008”这样的非常小的数字作为函数 toString() returns
科学计数法,即类似于“9e-8”
那么正确的方法应该是什么?
Number.prototype.toLocaleString
会成功
num.toLocaleString('en-US', {minimumFractionDigits: 8, useGrouping: false})//"999999999.90000000"
在 javascript 代码中,我需要将十进制数格式化为特定的小数位数并获得其精确的字符串表示形式。例如,如果数字是 999999999.9,小数位数是 8,那么期望值应该是“999999999.90000000”
当使用 Number.toFixed(8) 时,它 returns 一个四舍五入的值,这不是我想要的。请参考以下代码
var num = 999999999.9
var string_rep = num.toFixed(8)
>> the value of string_rep is "999999999.89999998"
我使用了 num.toString() 并尝试通过 adding/removing 数字手动格式化小数部分,但它不适用于像“0.00000008”这样的非常小的数字作为函数 toString() returns 科学计数法,即类似于“9e-8”
那么正确的方法应该是什么?
Number.prototype.toLocaleString
会成功
num.toLocaleString('en-US', {minimumFractionDigits: 8, useGrouping: false})//"999999999.90000000"