Javascript 有效數字是指在進行數值運算時被認可的數字。如果數字沒有達到有效數字的要求,那么在進行數學運算時它將不被認可,比如輸出結果可能會是NaN。
舉個例子,下面這個數字在Javascript中是被認可的有效數字。
let num1= 123.456;
但是如果存在以下情況就不是一個有效數字。
let num2 = 0.1+0.2; // 輸出結果為 0.30000000000000004
還有一個例子,下面這個數字也不是一個有效數字。
let num3 = 299792458 * 299792458; // 輸出結果會是 Infinity
在Javascript中,有一些方法可以幫助你來判斷和轉換有效數字。
Number.isFinite()方法
該方法用于檢查數字是否為有限數字,如果是有限的則返回true,否則返回false。
Number.isFinite(Infinity); // false Number.isFinite(-Infinity); // false Number.isFinite(0); // true Number.isFinite(2/3); // true
Number.isInteger()方法
該方法用于判斷數字是否為整數,如果是整數則返回true,否則返回false。
Number.isInteger(10); // true Number.isInteger(10.111); //false
Number.parseFloat()方法
該方法用于將字符串轉換為浮點數,如果無法轉換則返回NaN。
Number.parseFloat('1.23'); // 1.23
Number.parseInt()方法
該方法用于將字符串轉換為整數,如果無法轉換則返回NaN。
Number.parseInt('12.34'); // 12
在處理有效數字時,還需要考慮到一些Javascript的特殊情況。
NaN
NaN是一個特殊的數字,它代表"不是一個數字"。在Javascript中,對NaN進行任何數學操作的結果都是NaN,包括與NaN進行相等比較。
console.log(NaN === NaN); // false
Infinity
Infinity代表正無窮,-Infinity代表負無窮。在Javascript中,除以0會得到正無窮或負無窮,正無窮和負無窮與任何數相乘都為正/負無窮。
console.log(1/0); // Infinity console.log(1/-0); // -Infinity console.log(3*Infinity); // Infinity
總之,在Javascript中使用數字時,需要注意有效數字的范圍和相關的操作符。通過使用上述方法可以更方便地對數字進行檢查和轉換。