تابعی برای محاسبهٔ دقیق عددها که مشکل دقت اعشار شناور جاوااسکریپت را دور میزند و زنجیرهسازی را هم میپذیرد.
آرگومان
توضیح
نوع
ComputeNumberResult
شیء نتیجهٔ محاسبه
{ result: number, next: Function }
پارامتر
توضیح
نوع
پیشفرض
a
عدد نخست
number
الزامی
type
نوع عمل (+، -، *، /)
string
الزامی
b
عدد دوم
number
الزامی
ویژگی
توضیح
نوع
result
نتیجهٔ محاسبه
number
next
تابعی برای ادامهٔ محاسبه
Function
import { mathjs } from 'ranuts' ;
const result = mathjs ( 0.1 , '+' , 0.2 );
console. log (result.result); // 0.3 (دقیق، نه 0.30000000000000004)
import { mathjs } from 'ranuts' ;
const result = mathjs ( 1.3 , '-' , 1.2 ). next ( '+' , 1.5 ). next ( '*' , 2.3 ). next ( '/' , 0.2 );
console. log (result.result); // نتیجهٔ دقیق محاسبه
import { mathjs } from 'ranuts' ;
// محاسبهٔ خام جاوااسکریپت دقت را از دست میدهد
console. log ( 0.1 + 0.2 ); // 0.30000000000000004
// با mathjs نتیجه دقیق است
const result = mathjs ( 0.1 , '+' , 0.2 );
console. log (result.result); // 0.3
import { mathjs } from 'ranuts' ;
const total = mathjs ( 100 , '*' , 0.1 ). next ( '+' , 50 ). next ( '-' , 20 ). next ( '/' , 2 );
console. log (total.result); // نتیجهٔ دقیق محاسبه
رسیدگی به دقت : مشکل اعشار شناور را خودش میرساند و از دردسر 0.1 + 0.2 !== 0.3 جلوگیری میکند.
زنجیرهسازی : با متد next میتوان محاسبهها را به هم زنجیر کرد.
نوع عملها : چهار عمل اصلی + (جمع)، - (تفریق)، * (ضرب) و / (تقسیم).
سرعت : اندکی کندتر از عملهای خام است، اما دقت را تضمین میکند.