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