如何在 Node/Javascript 中丢弃数字的小数部分
how to discard fractional part of a number in Node/Javascript
我需要丢弃 Node 中数字的小数部分,但我无法得到正确的结果!!
parseInt(2.3*100) == 229
在 C 中很容易做到这一点:
(int) (2.3f * 100) == 230
(int) (2.305f * 100) == 230
如何在 Node 中执行此操作?
注意:someFunction(2.305 * 100)也应该等于230!
节点中的一些测试:
$ node
> 2.3*100 == 230
false
> parseInt(2.3*100)
229
> (2.3*100)|0
229
> (2.3*100).toFixed(0)
'230'
> (2.305*100).toFixed(0)
'231'
> Math.round(2.3*100)
230
> Math.round(2.305*100)
231
> Math.floor(2.3*100)
229
对此没有很好的解决方法。大多数小数不能完全表示为二进制分数。在此处阅读更多内容: https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
安装十进制 fron npm: npm install decimal
并按如下方式使用:
var Decimal = require('decimal');
parseInt(Decimal('2.3').mul('100').toNumber());
相关文章:
- 将数字四舍五入到两位小数
- 在数字字符串的最后两个数字上加上小数
- 将数字格式化为货币,两位小数
- 从数组/字符串中删除所有小数和单个数字
- 大于带数字和小数的条件
- 删除Javascript中小数后的数字
- 用Javascript替换数字's小数
- 对于大的数字,在这个本地化函数上强制使用两个小数
- excel中数字格式时的小数位数
- JavaScript打印的数字有20位小数
- Javascript-格式化数字,始终显示原始的小数位数
- 如何通过 javascript 在浮点数中保留小数点数后的 2 位数字
- 将小数四舍五入为 3 个数字
- 当一个有小数而没有十进制时,JS减去数字
- 数字中的小数位数和精度
- 如何在 Node/Javascript 中丢弃数字的小数部分
- 如何使用 Angular “数字”过滤器键入时在输入字段中设置带有千和小数分隔符的字符串格式
- Javascript:如何检索*字符串*数字的小数位数
- 如何使用 javascript 获取带有 2 个小数且不舍入的数字
- 输入元素,只允许小数的数字,使用AngularJS