以前はこのコードをインターネット上で見つけていましたが、特定の条件下では、部門と追加操作が引き続き表示されます。
次のようにコードコードをコピーします。
//メソッドを削除する正確な方法を取得する方法を除く
//説明:JavaScriptの結果にはエラーがあり、2つのフローティングポイント数値が削除されたときに明らかになります。この関数は、より正確な削除結果を返します。
//コール:accdiv(arg1、arg2)
//返品値:arg1を除くarg2の正確な結果を除く
function accdiv(arg1、arg2){{
var t1 = 0、t2 = 0、r1、r2;
try {t1 = arg1.toString( "。")[1] .length} catch(e){}
try {t2 = arg2.toString( "。")[1] .length} catch(e){}
(数学){
r1 = number(arg1.toString()。置換( "。"、 ""))
r2 = number(arg2.toString()。置換( "。"、 ""))
return accmul((r1 / r2)、pow(10、t2 -t1));
}
}
次のようにコードコードをコピーします。
//乗算関数正確な乗算結果を取得します
//説明:JavaScriptの乗算結果の結果にはエラーがあり、2つの浮遊点数値が乗算されると明らかになります。この関数は、より正確な乗算結果を返します。
//コール:Accmul(arg1、arg2)
//返品値:Arg1にArg2の正確な結果を掛けます
関数accmul(arg1、arg2){{
varm m = 0、s1 = arg1.toString()、s2 = arg2.toString();
try {m += s1.split( "。")[1] .length} catch(e){}
try {m += s2.split( "。")[1] .length} catch(e){}
return number(s1.replace( "。"、 "") * number(s2.replace( "。"。 "、") / math.pow(10、m)
}
次のようにコードコードをコピーします。
//メソッドを追加して、中間ソリューションを計算します
function acadd(arg1、arg2){{
Var R1、R2、M、C;
try {r1 = arg1.toString( "。")[1] .length} catch(e){r1 = 0}
try {r2 = arg2.toString( "。")[1] .length} catch(e){r2 = 0}
C = Math.Abs(R1 -R2);
m = math.pow(10、math.max(r1、r2)))
if(c> 0){{
var cm = math.pow(10、c);
if(r1> r2){
arg1 = number(arg1.toString()。置換( ""。 "、" ");
arg2 = number(arg2.toString()。置換( "。"、 "") * cm;
}
それ以外 {
arg1 = number(arg1.toString()。置換( "。"、 "") * cm;
arg2 = number(arg2.toString()。置換( ""。 "、" ");
}
}
それ以外 {
arg1 = number(arg1.toString()。置換( ""。 "、" ");
arg2 = number(arg2.toString()。置換( ""。 "、" ");
}
return accdiv((arg1 + arg2)、m);
}