在Javascript中将字符串转换为数字但保留零。

3
我正在使用 Javascript 处理英镑货币,并将字符串货币转换为数字,例如 Number('1.20') 将会得到 1.2。但我想在转换成 number 类型时保留 0,这是否可能?我想要的结果是 1.20。请问有人可以帮助我吗?

如何维护?缺失的0会在哪里引起问题? - depperm
1
看起来你把数字的“值”和它们的“表示”混淆了。1.21.20 是相同的数字“值”。如果你需要保留末尾的零以便于“显示”,那么请参考 在 JavaScript 中精确地格式化一个带有两位小数的数字 - Felix Kling
2
使用Intl.NumberFormat处理货币。 - Lain
1
这两个数字是一样的。即使你使用 toFixed,它也会被转换成字符串,如果你试图将其转换为数字,它又会将零删除。 - Ali Demirci
不,这是不可能的,JS中的数字是IEEE754浮点数,标准不包括前导或尾随零。 - Teemu
2个回答

1

在Javascript中更好的处理货币的方式是使用 Intl.NumberFormat。当然,输出结果将会是字符串类型。

输出结果会根据你指定的货币种类自动处理小数位数。在你的情况下是 GBP,所以小数点后会保留2位。

示例:

const number = 1.2;
console.log(new Intl.NumberFormat('en', { style: 'currency', currency: 'GBP' }).format(number));


-1

你可以用Javascript控制小数位数:

let num = 1.204;
let n = num.toFixed(2)

这不会保留尾随的零。 - Mario Nezmah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接