我想在整数末尾添加小数。举个例子:
15 => 15.00
像 toFixed 这样的方法的问题是它会将其转换为字符串。我尝试在字符串上使用 parseFloat() 和 Number(),但它会将其转换回没有小数的整数。
这可能吗?如果没有,有人可以向我解释为什么这是不可能的背后的逻辑吗?
编辑:我们的目的是将数字显示为数字,但从目前的共识来看,唯一的方法似乎是使用字符串。找到了原因的答案:https://stackoverflow.com/a/17811916/8869701
您发现的问题是javascript中的所有数字都是浮点数。
a = 0.1
typeof a # "number"
b = 1
typeof b # number
它们是一样的。
因此没有真正的方法可以将整数转换为浮点数。
这就是所有 parseFloat 等都是从字符串读取和写入数字的字符串方法的原因。即使您确实有浮点数和整数,指定数字的精度也只有在向用户显示它时才真正有意义,并且为此目的它无论如何都会转换为字符串。
根据您的具体用例,如果您想以定义的精度显示,则需要使用字符串。
处理数字时,
15
和 15.00
是相等的。使用内存来存储那些尾随或前导零是没有任何意义的。
如果需要该信息,通常用于显示目的。在这种情况下,字符串是正确的选择。
如果您再次需要该值,可以将字符串解析为数字。