如何在 JavaScript 中將 Infinity 轉換為數字?
一個簡單的包裝器物件是數字。使用Number函式Object() { [native code] } 時,可以使用許多方法和常量。Number()方法可用於將不同型別的數值轉換為數字。JavaScript 使用IEEE 754雙精度 64 位二進位制值型別。這意味著它可以表示分數值,但它可以容納的資料量是有限制的。
算術運算容易出現舍入誤差,一個數字最多隻能保留大約 17 位小數的精度。一個 Number 的最大值大約為 1.8E308。更高的值將被唯一的 Number 常量 Infinity 替換。在 JavaScript 程式碼中,數字字面量指的是浮點值,而不是整數。目前沒有使用單獨的整數型別。
在本教程中,我們將學習如何在 JavaScript 中將 Infinity 轉換為布林值。此外,在本教程中,我們還有不同的方法來實現我們的目標。
使用 Number() 方法
這種方法將演示如何使用 Number 物件將 Infinity 值轉換為數字。您可以使用 JavaScript number 物件顯示數值,它可以是浮點數或整數。JavaScript number 物件遵循IEEE標準來表示浮點數。如果值無法轉換,則返回NaN。
語法
使用者可以按照以下語法使用 Number() 方法。
var n=new Number( value );
引數
value − 傳遞給 Number 物件的引數,將確定其數字值
示例
下面的示例演示瞭如何使用 Number() 物件將 Infinity 值轉換為數字。在這裡,我們聲明瞭兩個物件myVal和val,它們分別取值 Infinity 和 -Infinity。這兩個都是 Infinity 值,當透過 Number 物件傳遞時,都返回 Infinity。
<html> <body> <h2>Convert Infinity to Number</h2> <script> var myVal = Infinity; document.write("Number of +infinity: " + Number(myVal)); document.write("<br>") var val = -Infinity; document.write("Number of -infinity: " + Number(val)); </script> </body> </html>
在上面的輸出中,使用者可以看到 Number 中 +Infinity 的值與 +Infinity 相同,-Infinity 的值與 -Infinity 相同。這些值是從 Number 物件獲得的。
使用按位非運算子
按位非運算子 (~) 反轉其運算元的位。與其他按位運算子一樣,運算元被轉換為 32 位有符號整數。運算元表示為一組位,並轉換為 32 位有符號整數(零和一)。大於 32 位的數字的最高有效位被丟棄。
語法
我們可以按照以下語法轉換按位非 (~) 運算子。
let r = ~a;
示例
在下面的示例中,我們使用了按位非運算子將 Infinity 轉換為數字資料型別。按位非運算子用於反轉運算元的位,然後 Number() 物件更改 ((0-18)/0*100) 的值,該值變為 Infinity。此值正在傳遞給 toFixed() 方法,以便僅傳遞值的 2 位有效數字,因此變數儲存值為 0,這是一個數字。
<html> <body> <h2>Convert Infinity to Number</h2> <script> var result = ~~Number((((0-18)/0)*100).toFixed(2)); document.write("Data type: "); document.write(typeof(result)); document.write("<br>"); document.write(" Infinity to Number: "+result); </script> </body> </html>
在上面的輸出中,我們看到了如何將透過計算獲得的 Infinity 值轉換為數值。結果的資料型別已獲得為 Number。
顯式型別轉換
在程式設計中,將資料從一種型別轉換為另一種型別稱為型別轉換。根據您的需要,您也可以在其他資料型別之間進行轉換。顯式型別轉換是您手動執行的型別轉換。
語法
if (result == Number.POSITIVE_INFINITY || result == Number.NEGATIVE_INFINITY) { result=0; }
示例
在這個例子中,我們將看到如何使用顯式型別轉換將 Infinity 值轉換為數字。變數result儲存一個計算結果為 Infinity 的值。使用 if 條件,我們檢查該結果是正 Infinity 還是負 Infinity。然後該值將型別轉換為整數 0。0 的資料型別被發現為 Number,該值與result一起列印在使用者的螢幕上。
<html> <body> <h2>Convert Infinity to Number</h2> <script> var result = Number((((0-18)/0)*100).toFixed(2)); if (result == Number.POSITIVE_INFINITY || result == Number.NEGATIVE_INFINITY) { result=0; document.write("Data type: "); document.write(typeof(result)); document.write("<br>"); document.write(" Infinity to Number: "+ result); } </script> </body> </html>
在上面的示例中,我們看到了如何將透過計算獲得的 Infinity 值轉換為數值。還獲得了數字的資料型別。
本教程使用了三種方法將 Infinity 值轉換為數字資料型別。全域性物件的屬性或具有全域性作用域的變數是 Infinity。JavaScript 使用名為 Number 的基本資料型別來表示正整數、負整數、浮點數、二進位制數、八進位制數、十六進位制數和指數值。
第一種方法使用簡單的 Number() 物件將正 Infinity 和負 Infinity 的值轉換為數字資料型別。第二種方法使用按位非運算子將 Infinity 計算結果轉換為 0 的數字資料型別。第三種方法展示瞭如何在計算出的 Infinity 結果上實現顯式型別轉換。