当前位置: 首页 > 知识库问答 >
问题:

javascript - js超长string转number 精度丢失问题 ??

蒋泰
2023-05-24
let num = '7236576431060140064'
console.log(+num, Number(num)) // 7236576431060140000
最后两位数丢了 这应该怎么处理

共有2个答案

黄宏毅
2023-05-24

用 BigInt

let num_str = '7236576431060140064'
let num = BigInt(num_str)    // 7236576431060140064n
余歌者
2023-05-24

用bignumber.js或decimal.js

let BigNumber = require('bignumber.js');

let num = new BigNumber('7236576431060140064');
console.log(num.toString()); // "7236576431060140064"

或者:

let num = BigInt('7236576431060140064');
console.log(num.toString()); // "7236576431060140064"
 类似资料:
  • 本文向大家介绍SpringBoot全局配置long转String丢失精度问题解决方案,包括了SpringBoot全局配置long转String丢失精度问题解决方案的使用技巧和注意事项,需要的朋友参考一下 web项目中,前端JS使用Java后端传过来的Long/long会丢失精度。 后端将返回的数据改为String使用即可 第一种 自己建个配置类 extends WebMvcConfigurerAd

  • 本文向大家介绍js如何解决数字精度丢失的问题?相关面试题,主要包含被问及js如何解决数字精度丢失的问题?时的应答技巧和注意事项,需要的朋友参考一下 const verifyFunc = (left, right) => { return Math.abs(left - right) < Number.EPSILON * Math.pow(2, 2); }; console.log(verifyFu

  • 问题内容: 我在ResultSet.getDate(x)调用中失去了精度。基本上: 返回的日期被截断为MODIFIED是默认精度的Oracle TIMESTAMP字段的日期。我认为可能缺少一些JDBC调整;通常,TIMESTAMP与DATE兼容,但我希望不必重新定义整个表。 问题答案: 传回,而不是。它被定义为一个永恒的日期。如果需要时间戳记,请使用!

  • 比如计算百分比,乘除法,js计算有小数点,精度会丢失,通过toFixed可以截取小数后几位,但是会四舍五入,而toPrecision则需要指定数字长度。现在要保留小数点后2位,请问怎么处理 期望结果: let n = 123.1266646635525563; // 123.12

  • 代码如下: 在下拉框选择值后,就赋值arr的数组,然后去匹配列表的processName,在其的长度上相同的去掉, 期望下拉框选择值后,arr的数组只能选择一个,它的length

  • 本文向大家介绍JavaScript中string转换成number介绍,包括了JavaScript中string转换成number介绍的使用技巧和注意事项,需要的朋友参考一下 JavaScript中,可以通过以下3种方法来将string值转换成number: 1.调用Number()来对string进行值类型转换。 2.parseInt()。 3.parseFloat()。 Number() 使用