JS中的浮點運算問題

2022-01-19 00:37:26 字數 989 閱讀 2099

最近又遇到在前台進行浮點運算的問題,一開始從網上直接複製了一段浮點運算的**,在測試中發現依然存在問題。

現在將修改過的**貼出啦,與大家分享。

var floatcalculate= catch (e) 

try catch (e)

m = math.pow(10, math.max(r1, r2));

//return (arg1*m+arg2*m)/m

return ((floatcalculate.floatmul(arg1, m) + floatcalculate.floatmul(arg2, m)) /m);

},floatsub:

function

(arg1,arg2) catch (e)

try catch (e)

m = math.pow(10, math.max(r1, r2));

//動態控制精度長度

n = (r1 >= r2) ?r1 : r2;

//return ((arg1*m-arg2*m)/m).tofixed(n);

return ((floatcalculate.floatmul(arg1, m) - floatcalculate.floatmul(arg2, m)) /m).tofixed(n);

},floatmul:

function

(arg1,arg2) catch

(e)

try catch

(e)

return number(s1.replace(".", "")) * number(s2.replace(".", "")) / math.pow(10, m);

},floatdiv:

function

(arg1,arg2) catch

(e)

try catch

(e)

with

(math)

}}

GCC中關於浮點運算的問題

最近讀書 深入理解計算機系統 裡第二章中的 intel ia32 浮點運算 發現其中給出的測試程式有些問題 浮點數暫存器使用的是80位的擴充套件精度格式 float 型別使用的是32位精度格式 double 型別使用的是64位精度格式 書中給出的例子是 includedouble recip int...

python中浮點數運算問題

這是因為小數以二進位制形式表示時的 有窮性導致的。我們知道,將乙個小數轉化為二進位制表示的方式是,不斷的乘2,取其中的整數部分。例如 1 0.625 2 1.25,整數部分為1,小數部分為0.25 2 0.25 2 0.5 整數部分為0,小數部分為0.5 3 0.5 2 1 整數部分為1,小數部分為...

相除精度 完美解決JS浮點型的運算精度問題

console.log 0.1 0.2 console.log 2.22 0.1 2.3200000000000003 console.log 1.0 0.9 console.log 19.9 100 console.log 6.6 0.2 這真是乙個令人黯然蛋碎的bug,而且即使在es6時代依然沒...