Javascript 如何使用JS仅获取长浮点数的整数部分?
我知道有Javascript 如何使用JS仅获取长浮点数的整数部分?,javascript,floating-point-precision,Javascript,Floating Point Precision,我知道有 Math.floor parseInt 但是关于这个案例: Math.floor(1.99999999999999999999999999) 返回2时,如何仅获取其整数部分,即等于1?1。99999999999999999999999999999不是数字的实际值。在解析文本后,它的值为2,因为这是JavaScript可以表示的“最佳”值 JavaScript数字是或,允许精度为15到17位有效[十进制]数字-显示的文字需要27位有效数字,这会导致信息丢失 测试:1.9999999
Math.floor
parseInt
Math.floor(1.99999999999999999999999999)
返回2时,如何仅获取其整数部分,即等于1?
1。99999999999999999999999999999
不是数字的实际值。在解析文本后,它的值为2,因为这是JavaScript可以表示的“最佳”值
JavaScript数字是或,允许精度为15到17位有效[十进制]数字-显示的文字需要27位有效数字,这会导致信息丢失
测试:1.9999999999999999999999===2
(结果为true)
这里描述了这个问题;有限的相对精度是个问题。所以我宁愿使用另一种语言?COBOL?@diegoaguilar来做……什么?你使用JavaScript的原因是:)Node.js中的数值分析应用程序API@diegoaguilar有各种各样的库可用于帮助“大数字”或“理性”或“固定精度”然而JavaScript的数字类型不能直接处理这种情况。