JS小數點加減乘除運算後位數增加的解決方案

2021-09-08 12:03:32 字數 1284 閱讀 2470

/*

* * 加法運算,避免資料相加小數點後產生多位數和計算精度損失。

* * @param num1加數1 | num2加數2 */

function

numadd(num1, num2)

catch

(e)

try

catch

(e)

basenum = math.pow(10, math.max(basenum1, basenum2));

return (num1 * basenum + num2 * basenum) /basenum;

};/*

* * 減法運算,避免資料相減小數點後產生多位數和計算精度損失。

* * @param num1被減數 | num2減數 */

function

numsub(num1, num2)

catch

(e)

try

catch

(e)

basenum = math.pow(10, math.max(basenum1, basenum2));

precision = (basenum1 >= basenum2) ?basenum1 : basenum2;

return ((num1 * basenum - num2 * basenum) /basenum).tofixed(precision);

};/*

* * 乘法運算,避免資料相乘小數點後產生多位數和計算精度損失。

* * @param num1被乘數 | num2乘數 */

function

nummulti(num1, num2)

catch

(e)

try

catch

(e)

return number(num1.tostring().replace(".", "")) * number(num2.tostring().replace(".", "")) / math.pow(10, basenum);

};/*

* * 除法運算,避免資料相除小數點後產生多位數和計算精度損失。

* * @param num1被除數 | num2除數 */

function

numdiv(num1, num2)

catch

(e)

try

catch

(e)

with

(math)

};

JS小數點加減乘除運算後精度缺失的解決方案

加法運算,避免資料相加小數點後產生多位數和計算精度損失。param num1加數1 num2加數2 function numadd num1,num2 catch e try catch e basenum math.pow 10,math.max basenum1,basenum2 return ...

js計算小數加減乘除問題

在js中使用小數進行加減乘除計算時,可能會導致資料不準確出現好多小數問題 查了一些資料,一是 j ascript 浮點數計算的 bug,另乙個是和計算機最終轉換成二進位制計算有關係 解決方法 1 加減法可以用引數乘以1000再用結果除以1000 乘除法可以用引數分別 100進行計算後在除以10000...

c 輸出小數點後位數精度

標頭檔案 include,函式setprecision setprecision n 指定乙個浮點數的精度預設設定輸出的數字的總位數為n,包含整數和小數部分。fixed 必須與setprecision n 配合使用,用來控制小數字數,不夠補0,只要寫一次fixed,後面的setprecision n...