大飞_dafei

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

各种语言中小数计算

各种语言中小数计算

Java 中小数计算

BigDecimal 中 乘法运算multiply

复制代码
import java.math.BigDecimal;

public class Main {

    public static void main(String[] args) {
        BigDecimal a = new BigDecimal("3");
        BigDecimal b = new BigDecimal("3.3");

        BigDecimal c = b.multiply(a);

        System.out.println(c);// 输出 9.9
    }
}
复制代码

运行结果:  9.9 

PHP中小数计算

echo bcmul("3", "3.3",2); // 输出 9.9

PHP 中 BC 数学 函数

JavaScript中小数计算

没有自己的函数方法,这里推荐一个第三方库 number-precision  再推荐一个第三方库  bignumber.js   bignumber.js 文档    numbers.js  

 JavaScript 浮点数陷阱及解法

 

小数转为百分比demo(对于4位小数),其他位数自己调整

复制代码
console.log(("0.8791".toString().split('.')[1])/100); // 87.94
console.log(("0.7569".toString().split('.')[1])/100); // 75.69
console.log(("0.6238".toString().split('.')[1])/100); // 62.38
console.log(("0.4000".toString().split('.')[1])/100); // 40
console.log(("0.6500".toString().split('.')[1])/100); // 65

console.log("fei___fei___fei______fei______fei______fei");
console.log(("1.6500".toString().split('.')[1])/100+100); // 165
console.log(("1.0000".toString().split('.')[1])/100+100); // 100    
复制代码

bignumber.js  四则运算

let a = new BigNumber(3);
let b = new BigNumber(0.3);
// 加减乘除
console.log(a.plus(b).toNumber()); // 3.3
console.log(a.minus(b).toNumber()); // 2.7
console.log(a.multipliedBy(b).toNumber()); // 0.9
console.log(a.div(b).toNumber()); // 10
01) 小于等于  isGreaterThanOrEqualTo
02) 保留4位数,有逗号  BigNumber(10.123).toFormat(4) // 12,310.1230
03) 保留4位数,无逗号  BigNumber(10.123).toFormat(4) // 12310.12
04) 移位获取到前三位数 shiftedBy
    let x = new BigNumber(0.123)
    x.shiftedBy(3).toNumber()

 

### 其他

mathjs 这个库本地开发没有问题,打包后经常报错,或者不兼容ie

 mathjs9.4.1在vue2.5.2中报错(mathjs切换到8.1.0好了  npm install mathjs@8.1.0    )

 Uncaught SyntaxError: In "GeV^-2", "^" must be followed by a floating-point number

posted on   大飞_dafei  阅读(777)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示