【JavaScript】如何进行除法运算且保留小数部分不参与四舍五入【推荐库bignumber.js 】

在 bignumber.js 中进行除法运算并保留小数部分,不参与四舍五入,你可以使用 decimalPlaces 方法来指定保留的小数位数,并使用 ROUND_DOWN 舍入模式来实现截断而不进行四舍五入。

以下是在 bignumber.js 中进行除法运算且保留小数部分,不参与四舍五入的示例:

首先,确保你已经在项目中引入了 bignumber.js 库。你可以通过 npm 安装:

bash
Copy code
npm install bignumber.js
然后,在代码中使用 BigNumber 对象进行除法运算和设置保留小数位数和舍入模式:javascript
Copy code

// 导入 bignumber.js 库
const BigNumber = require('bignumber.js');

// 创建 BigNumber 对象
const a = new BigNumber(10);
const b = new BigNumber(3);

// 进行除法运算,并设置小数位数为 2,使用 ROUND_DOWN 舍入模式
const result = a.dividedBy(b).decimalPlaces(2, BigNumber.ROUND_DOWN);

console.log(result.toString()); // 输出:'3.33'
import BigNumber  from "bignumber.js"


let amount = "999999996.999999953674316405"

let amountBig = "999999996999999953674316405"

let decimals= 18

let divNumber = Math.pow(10,decimals)

console.log(new BigNumber(amount).decimalPlaces(3,BigNumber.ROUND_DOWN))


// 创建 BigNumber 对象
const a = new BigNumber(amountBig);

const b = new BigNumber(divNumber);



// 进行除法运算,并设置小数位数为 2,使用 ROUND_DOWN 舍入模式

const result = a.dividedBy(b).decimalPlaces(decimals, BigNumber.ROUND_DOWN);

 


在上面的示例中,我们使用 dividedBy() 方法进行除法运算,并通过 decimalPlaces() 方法来指定保留的小数位数为 2,并设置舍入模式为 BigNumber.ROUND_DOWN,这样就实现了截断而不进行四舍五入。

bignumber.js 提供了多种舍入模式,其中常用的有:

BigNumber.ROUND_UP:向上舍入
BigNumber.ROUND_DOWN:向下舍入(截断)
BigNumber.ROUND_HALF_UP:四舍五入
BigNumber.ROUND_HALF_DOWN:五舍六入
BigNumber.ROUND_HALF_EVEN:银行家舍入(四舍六入五考虑)


根据你的需求,选择相应的舍入模式即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值