各種語言中小數計算


各種語言中小數計算

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    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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM