السبب: يعالج JS الإضافة والطرح والضرب وتقسيم العشرية وفقًا لـ 2. على أساس Arg1 ، يتم توسيع دقة Arg2 أو موسع عكسيا ، وبالتالي فإن الموقف التالي سيحدث.
إن مشكلة الإضافة والطرح والضرب وتقسيم النقاط العشرية في JavaScript (JS) هي خطأ في JS مثل 0.3*1 = 0.29999999999 ، إلخ. يسرد التالية أربعة خوارزميات JS التي يمكنها حساب الدقة المقابلة بشكل مثالي.
دالة accdiv (arg1 ، arg2) {var t1 = 0 ، t2 = 0 ، r1 ، r2 ؛ حاول {t1 = arg1.toString (). split (".") [1] .Length} catch (e) {} try {t2 = arg2.toString (). split (". r2 = number (Arg2.ToString (). استبدال (". }} / * لماذا تسأل عن hovertree.com * /// متعددة الدالة accmul (arg1 ، arg2) {var m = 0 ، s1 = arg1.toString () ، s2 = arg2.toString () ؛ حاول {m+= s1.split (".") [1] .Length} catch (e) {} جرب {m+= s2 accadd (arg1 ، arg2) {var r1 ، r2 ، m ؛ حاول {r1 = arg1.toString (). split (".") [1] .Length} catch (e) {r1 = 0} جرب {r2 = arg2.toString (). split (".". ". } // وظيفة الطرح subtr (arg1 ، arg2) {var r1 ، r2 ، m ، n ؛ حاول {r1 = arg1.toString (). split (".") [1] n = (r1> = r2)؟ r1: r2 ؛ العودة ((Arg1*m-arg2*m)/m) .Tofixed (n) ؛ }الحل الأمثل لخسارة الدقة العشرية JavaScript أعلاه هو كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.