我正在尝试在Node.js平台上创建一种安全的方式来收取Stripe中的付款。我目前正在使用BigNumber
https://github.com/MikeMcl/bignumber.js/来执行我的操作以保持计算的准确性,以确定在线购买的小计和总计,例如
let x = BigNumber(numberOfItems);
let y = BigNumber(costPerItem);
let z = BigNumber(taxRatePerOrderTotal/100);
let costToCharge = x.times(y).plus(x.times(y).times(z))
我担心的是,当我这样做时,我不希望所有漂亮的任意精度十进制算法都浪费掉
costToCharge.toNumber()
将把它改回IEEE764浮点数,从而切断一些精度。然而根据Stripe文档,它需要Number
,我不相信有amount
属性的字符串版本可以解决问题。