在划分大数字时,有没有办法获得更精确的结果?

问题描述 投票:1回答:2

我需要操作大数字,但我需要结果准确,如下所示:

const BN = require('bn.js');
var a = 11060622312717714974
var b = 1570481433500000000000;
console.log(a/b); //0.0070428227146040415

当我使用大数字时,我只获得0,没有精确度:

var aBN = new BN('11060622312717714974');
var bBN = new BN('1570481433500000000000');
console.log(aBN.div(bBN).toString()); //0

是否可以使用此库获得精确结果?

javascript npm web3
2个回答
4
投票

不熟悉该库,但看看README.md文件,它说:

注意:此库不支持小数。

所以,据此,答案是否定的。

https://github.com/indutny/bn.js/#usage


0
投票

精确是计算机科学中一个有趣的词,JavaScript也不例外。

注意输入与此输出的比较:

console.log( 11060622312717714974 )

你并不总能得到你想要的东西。

有这样的情况:

console.log( .1 + .2 );
console.log(  (.1 + .2) === .3 );

所以,可能不是你想听到的,但事先了解这一点,你可以解决它。

无论如何,结帐https://github.com/MikeMcl/bignumber.js/

© www.soinside.com 2019 - 2024. All rights reserved.