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限制数字中的小数位数[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Android Edittext限制输入小数位数,限制输入数字大小及所有相关式样与属性(总结)