理由: JSは、2に従って追加、減算、乗算、および小数の分割を処理します。Arg1に基づいて、Arg2の精度が拡大または逆に拡張されるため、次の状況が発生します。
JavaScript(JS)の小数点の追加、減算、乗算、分割の問題は、0.3*1 = 0.2999999999などのJSのバグです。
関数accdiv(arg1、arg2){var t1 = 0、t2 = 0、r1、r2; try {t1 = arg1.tostring()。split( "。")[1] .length} catch(e){} try {t2 = arg2.tostring()。split( "。")[1] .length} catch(e){} with(math){r1 = number(arg1.tostring()。 r2 = number(arg2.toString()。置換( "。"、 "))return accmul((r1/r2)、pow(10、t2-t1)); }} / * hovertree.comについて質問する理由 * ///複数関数accmul(arg1、arg2){var m = 0、s1 = arg1.toString()、s2 = arg2.toString(); {m+= s1.split( "。")[1] .length} catch(e){} try {m+= s2.split( "。"。 ")[1] .length} catch(e){} return number(s1.replace("。 "、"、 "))*number(s2.replace(10、" "、" accadd(arg1、arg2){var r1、r2、m; {r1 = arg1.tostring()。split( "。")[1] .length} catch(e){r1 = 0} try {r2 = arg2.tostring() (arg1*m+arg2*m)/m} //減算関数subtr(arg1、arg2){var r1、r2、m、n; try {r1 = arg1.tostring()。split( "。")[1] .length} catch(e){r1 = 0} try {r2 = arg2.tostring()。 n =(r1> = r2)?r1:r2; return((arg1*m-arg2*m)/m).tofixed(n); }上記のJavaScript 10進の精度損失に対する完璧なソリューションは、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。