当前位置: 首页 > news >正文

【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:银行家舍入(四舍六入五考虑)


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

http://www.lryc.cn/news/106943.html

相关文章:

  • 掌握Java JDK 1.8 API帮助文档中文版,事半功倍编程
  • Spring Boot的自动配置原理
  • NFS服务器
  • 说明学习委员之作业管理系统—后端部分
  • 质数(判定质数 分解质因数 筛质数)
  • SAP数据库表维护视图生成器的使用
  • 数据结构 | 递归
  • 微信发视频怎么不压缩画质?试试这几招
  • 【网络安全带你练爬虫-100练】第16练:使用session发送请求
  • 论文代码学习—HiFi-GAN(3)——模型损失函数loss解析
  • CLion中avcodec_receive_frame()问题
  • Linux安装操作(Mac版本)
  • Linux(四)--包软件管理器与Linux上软件的下载示例
  • HTML <param> 标签
  • 基于ARM+FPGA (STM32+ Cyclone 4)的滚动轴承状态监测系统
  • 二、数据结构10:堆 模板题+算法模板(堆排序,模拟堆)
  • W6100-EVB-PICO做DNS Client进行域名解析
  • 【linux-网络】4层转发方法-iptable以及nginx
  • vue复制文案,复制图片,黏贴图片
  • Web应急思路
  • shell脚本清理redis模糊匹配的多个key,并计算释放内存大小
  • python-MySQL数据库建表语句(需要连接数据库)转存为Excel文档-工作小记
  • iOS Block介绍
  • 小程序安全性加固:如何保护用户数据和防止恶意攻击
  • Ubuntu的tar命令详解
  • 使用elementplus实现文本框的粘贴复制
  • 计算机毕设 深度学习卫星遥感图像检测与识别 -opencv python 目标检测
  • devops(前端)
  • SpringBoot中MongoDB的使用
  • Spring学习之GOF的工厂模式