各种语言中小数计算
各种语言中小数计算
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
小数转为百分比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