سوال خود را بپرسید

توضیحات بخش

rss
سوال و جواب برای متخصصان و علاقه مندان به برنامه نویسی در همه زبان ها و همه پلت فرم ها

آمار بخش

کاربران 29
سوال ها 71
پاسخ ها 80
نظر سنجی ها 0

برترین کاربر ها

بیشترین تگ ها

1

فرق بین ()toFixed و ()toPrecision در جاوااسکریپت چیست؟

برای اینکه در جاوا اسکریپت به جای تمام ارقام اعشار یک عدد، فقط از چند رقم اعشار آن استفاده کنیم می توانیم از متد ()toFixed استفاده کنیم. مثلا اگر عدد 1.23456789 رو داشته باشیم، خواهیم داشت:

var num = 1.123456789;
alert(num.toFixed(3)); // ==> 1.123

ولی یک متد دیگه هم هست به اسم ()toPrecision که وقتی از این استفاده می کنیم، نتیجه زیر را می دهد:

var num = 1.123456789;
alert(num.toPrecision(3)); // ==> 1.12

تفاوت این دو چیه و برای اینکه یک عدد اعشاری را تا مثلا 5 رقم اعشار داشته باشیم از کدام یک بهتر است استفاده کنیم؟

پاسخ به سوال
1677بازدید

پاسخ ها (1)

1
به صورت کلی (toFixed(n تعداد رقم های اعشار رو نشون میده ولی (toPrecision(n تعداد کل ارقام (مجموع تعداد ارقام سمت چپ و راست اعداد اعشاری) رو نشون میده. البته دقت کنید که هر دو متد ارقام رو گرد می کنند.
برای نمایش تفاوت بین این دو، مثال های زیر را در نظر بگیرید :

var A = 123.456789;
console.log(A.toFixed()) // 123
console.log(A.toFixed(0)) // 123
console.log(A.toFixed(1)) // 123.5
console.log(A.toFixed(2)) // 123.46
console.log(A.toFixed(3)) // 123.457
console.log(A.toFixed(4)) // 123.4568
console.log(A.toFixed(5)) // 123.45679
console.log(A.toFixed(6)) // 123.456789
console.log(A.toFixed(7)) // 123.4567890
console.log(A.toFixed(8)) // 123.45678900
console.log(A.toFixed(9)) // 123.456789000
console.log(A.toFixed(10)) // 123.4567890000
console.log(A.toFixed(11)) // 123.45678900000
console.log(A.toPrecision()) // 123.456789
console.log(A.toPrecision(0)) // --- ERROR ---
console.log(A.toPrecision(1)) // 1e+2
console.log(A.toPrecision(2)) // 1.2e+2
console.log(A.toPrecision(3)) // 123
console.log(A.toPrecision(4)) // 123.5
console.log(A.toPrecision(5)) // 123.46
console.log(A.toPrecision(6)) // 123.457
console.log(A.toPrecision(7)) // 123.4568
console.log(A.toPrecision(8)) // 123.45679
console.log(A.toPrecision(9)) // 123.456789
console.log(A.toPrecision(10)) // 123.4567890
console.log(A.toPrecision(11)) // 123.45678900
پاسخ به سوال
تعداد حروف 0