JS限制数字中的小数位数[重复]

Posted

技术标签:

【中文标题】JS限制数字中的小数位数[重复]【英文标题】:JS limit the number of decimal places in a number [duplicate] 【发布时间】:2018-01-05 00:01:57 【问题描述】:

我有一个 js,它可以抓取值、乘法、求和、除法,然后将它们放入表格的单元格中。结果可以达到(我认为)小数点后 15 位。如何将其限制为两个?

例如: 数学运算结果:5.223567 我要:5.22

我想截断或舍入剩余的小数位。我对需要 js 之外的资源的解决方案持开放态度,但如果存在,我更喜欢 js 解决方案。

【问题讨论】:

【参考方案1】:

使用.toFixed

yourNumber.toFixed(2);

请注意,.toFixed 将返回一个字符串,因为 javascript 使用 64 位浮点数,无法保证准确性。 (通俗的讲,JS不能准确表示0.1,所以必须返回一个字符串。)

【讨论】:

很好地解释了为什么 toFixed 返回一个字符串。 他并没有说他想要一个字符串。【参考方案2】:
 (5.223567).toFixed(2)

方法 toFixed 四舍五入到小数位数。

【讨论】:

当答案完全有效时为什么要投反对票。甚至没有评论解释为什么这被认为是不正确的。 在这个标签中问了很多容易被发现的骗子的琐碎问题。用户对此感到厌倦,并对这些问题的答案投反对票。 Meta Stack Overflow 有更多信息,如果你搜索的话。 我明白,将尝试对琐碎的问题添加评论;)而不是答案。 它可能会在未来为您节省投票。祝你好运。【参考方案3】:

如果你不想使用 .toFixed() 你也可以

Math.round(num * Math.pow(10,x)) / Math.pow(10,x)

其中 x 是小数位数,num 是原始数字

【讨论】:

以上是关于JS限制数字中的小数位数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

EditText限制小数点前后位数

js精确到指定位数的小数

SQL中的小数点后的输入位数.

Android Edittext限制输入小数位数,限制输入数字大小及所有相关式样与属性(总结)

js取整,保留小数位数、四舍五入、科学记数法及去掉数字末尾多余的0

js的小数位数