在 JS 中向整数添加尾随零而不转换为字符串?

问题描述 投票:0回答:3

我想在整数末尾添加小数。举个例子:

15 => 15.00

像 toFixed 这样的方法的问题是它会将其转换为字符串。我尝试在字符串上使用 parseFloat() 和 Number(),但它会将其转换回没有小数的整数。

这可能吗?如果没有,有人可以向我解释为什么这是不可能的背后的逻辑吗?

编辑:我们的目的是将数字显示为数字,但从目前的共识来看,唯一的方法似乎是使用字符串。找到了原因的答案:https://stackoverflow.com/a/17811916/8869701

javascript numbers
3个回答
0
投票

您发现的问题是javascript中的所有数字都是浮点数。

a = 0.1
typeof a # "number"

b = 1
typeof b # number

它们是一样的。

因此没有真正的方法可以将整数转换为浮点数。

这就是所有 parseFloat 等都是从字符串读取和写入数字的字符串方法的原因。即使您确实有浮点数和整数,指定数字的精度也只有在向用户显示它时才真正有意义,并且为此目的它无论如何都会转换为字符串。

根据您的具体用例,如果您想以定义的精度显示,则需要使用字符串。


0
投票

处理数字时,

15
15.00
是相等的。使用内存来存储那些尾随或前导零是没有任何意义的。 如果需要该信息,通常用于显示目的。在这种情况下,字符串是正确的选择。 如果您再次需要该值,可以将字符串解析为数字。


0
投票

您可以使用

toFixed()
方法

num = 15

console.log(num.toFixed(2))

© www.soinside.com 2019 - 2024. All rights reserved.