Error: Please pass numbers as strings or BigNumber objects to avoid precision errors.
콘솔에 숫자끝에 0을 많이 붙이면 10진수대신 1e+숫자가 표기된다. 이를 무시하면 위와같은 에러를 만들어낼 수있다.
BN라이브러리를 활용한 10진수 처리
number에 위와같이 0이 많은숫자더라도 10진수로 표시해준다.
const BN = require('bn.js');
new BN(number,10)
활용 예제
// data =[{amount:"1000000000000000000" || "0", created_at:'', detail:null},{},...]
data !== null && data.forEach(e => {
e['amountFromPeb'] = caver.utils.fromPeb(new BN(e.amount, 10))
console.log(e['amountFromPeb'])
})
https://github.com/indutny/bn.js/
반응형
'Frontend > 모던자바스크립트' 카테고리의 다른 글
[리팩토링] if문 대신 매핑하기 (0) | 2023.07.07 |
---|---|
자바스크립트 클로져 예시 (0) | 2023.05.03 |
구조분해할당과 Null 처리 (0) | 2023.01.31 |
While문 api 호출 리펙토링(setTimeout, setInterval) (0) | 2023.01.05 |
parseInt()와 Number()의 차이 그리고.. (0) | 2023.01.02 |