如何在JavaScript中將字串轉換為數字?


為了在JavaScript中將字串轉換為數字,這有助於使用者執行精確的數學運算、比較和處理表單輸入。我們將討論各種方法,併為每種方法提供示例程式碼,以在JavaScript中將字串轉換為數字。

在本文中,我們有一個字串值,我們的任務是在JavaScript中將字串轉換為數字。

在JavaScript中將字串轉換為數字的方法

以下是本文將討論的幾種在JavaScript中將字串轉換為數字的方法,我們將逐步解釋並提供完整的示例程式碼。

使用Number建構函式轉換為數字

為了在JavaScript中將字串轉換為數字,我們使用了Number()建構函式。使用Number()建構函式可以將字串等資料型別轉換為數字。

示例

這是一個使用**Number()**建構函式將字串轉換為數字的示例。

<html>
    <body>
        <div id="str"></div>
        <div id="num"></div>
        <script>
            let x=document.getElementById("str");
            let str = "123";
            x.innerHTML = "Input String: " + str 
                          + ", It is of type: " +typeof str;
            let res=document.getElementById("num");
            let num = Number(str);
            res.innerHTML = "Result: " + num 
                            + ", It is of type: " +typeof num;
        </script>
    </body>
</html>

使用parseFloat方法轉換為數字

在這種將字串轉換為JavaScript數字的方法中,我們使用了**parseFloat()**方法,該方法將字串轉換為浮點數,並保留小數部分。

示例

這是一個使用**parseFloat()**方法將字串轉換為數字的示例。

<html>
    <body>
        <div id="str"></div>
        <div id="num"></div>
        <script>
            let x=document.getElementById("str");
            let str = "123.29";
            x.innerHTML = "Input String: " + str 
                          + ", It is of type: " +typeof str;
            let res=document.getElementById("num");
            let num = parseFloat(str);
            res.innerHTML = "Result: " + num 
                            + ", It is of type: " +typeof num;
        </script>
    </body>
</html>

使用parseInt方法轉換為數字

在這種方法中,我們使用了**parseInt()**方法在JavaScript中將字串轉換為數字。它接受字串作為引數,並將字串轉換為整數值。

示例

這是一個使用**parseInt()**方法將字串轉換為數字的示例。

<html>
    <body>
        <div id="str"></div>
        <div id="num"></div>
        <script>
            let x=document.getElementById("str");
            let str = "123";
            x.innerHTML = "Input String: " + str 
                          + ", It is of type: " +typeof str;
            let res=document.getElementById("num");
            let num = parseInt(str);
            res.innerHTML = "Result: " + num 
                            + ", It is of type: " +typeof num;
        </script>
    </body>
</html>

使用一元運算子轉換為數字

在這種將字串轉換為JavaScript數字的方法中,我們使用了**一元(+)**運算子。它強制進行型別轉換,JavaScript會在內部檢查有效的數字(即整數或浮點數),然後透過型別強制或自動轉換將其轉換為數字。

示例

這是一個使用**一元**運算子將字串轉換為數字的示例。

<html>
    <body>
        <div id="str"></div>
        <div id="num"></div>
        <script>
            let x=document.getElementById("str");
            let str = "123";
            x.innerHTML = "Input String: " + str 
                          + ", It is of type: " +typeof str;
            let res=document.getElementById("num");
            let num = +str;
            res.innerHTML = "Result: " + num 
                            + ", It is of type: " +typeof num;
        </script>
    </body>
</html>

透過乘以1轉換為數字

在這種將字串轉換為JavaScript數字的方法中,我們將字串乘以1,這會強制自動將字串轉換為數字。

示例

這是一個將字串乘以1以將其轉換為數字的示例。

<html>
    <body>
        <div id="str"></div>
        <div id="num"></div>
        <script>
            let x=document.getElementById("str");
            let str = "123";
            x.innerHTML = "Input String: " + str 
                          + ", It is of type: " +typeof str;
            let res=document.getElementById("num");
            let num = str*1;
            res.innerHTML = "Result: " + num 
                            + ", It is of type: " +typeof num;
        </script>
    </body>
</html>

透過除以1轉換為數字

在這種將字串轉換為JavaScript數字的方法中,我們將字串除以1,這會強制自動將字串轉換為數字。

示例

這是一個將字串除以1以將其轉換為數字的示例。

<html>
    <body>
        <div id="str"></div>
        <div id="num"></div>
        <script>
            let x=document.getElementById("str");
            let str = "123";
            x.innerHTML = "Input String: " + str 
                          + ", It is of type: " +typeof str;
            let res=document.getElementById("num");
            let num = str/1;
            res.innerHTML = "Result: " + num 
                            + ", It is of type: " +typeof num;
        </script>
    </body>
</html>

從字串中減去0

在這種將字串轉換為JavaScript數字的方法中,我們從字串中減去了0,這會強制自動將字串轉換為數字。

示例

這是一個從字串中減去0以將其轉換為數字的示例。

<html>
    <body>
        <div id="str"></div>
        <div id="num"></div>
        <script>
            let x=document.getElementById("str");
            let str = "123";
            x.innerHTML = "Input String: " + str 
                          + ", It is of type: " +typeof str;
            let res=document.getElementById("num");
            let num = str-0;
            res.innerHTML = "Result: " + num 
                            + ", It is of type: " +typeof num;
        </script>
    </body>
</html>

使用按位非運算子轉換為數字

在這種方法中,我們使用了按位非運算子在JavaScript中將字串轉換為數字。按位非運算子會反轉運算元,然後將其轉換為32位有符號整數,從而將字串轉換為數字。

示例

這是一個使用按位**非**運算子將字串轉換為數字的示例。

<html>
    <body>
        <div id="str"></div>
        <div id="num"></div>
        <script>
            let x=document.getElementById("str");
            let str = "123";
            x.innerHTML = "Input String: " + str 
                          + ", It is of type: " +typeof str;
            let res=document.getElementById("num");
            let num = ~str;
            res.innerHTML = "Result: " + num 
                            + ", It is of type: " +typeof num;
        </script>
    </body>
</html>

使用雙波浪線運算子轉換為數字

在這種將字串轉換為JavaScript數字的方法中,我們使用了**雙波浪線(~~)**運算子。它會兩次應用非運算子,從而將字串轉換為數字,強制進行自動轉換。

示例

這是一個使用**雙波浪線(~~)**運算子將字串轉換為數字的示例。

<html>
    <body>
        <div id="str"></div>
        <div id="num"></div>
        <script>
            let x=document.getElementById("str");
            let str = "123";
            x.innerHTML = "Input String: " + str 
                          + ", It is of type: " +typeof str;
            let res=document.getElementById("num");
            let num = ~~str;
            res.innerHTML = "Result: " + num 
                            + ", It is of type: " +typeof num;
        </script>
    </body>
</html>

使用Math.floor方法轉換為數字

在這種將字串轉換為JavaScript數字的方法中,我們使用了Math.floor方法。它透過型別強制將字串轉換為數字,然後將數字舍入到最接近的整數值。

示例

這是一個使用**Math.floor**方法將字串轉換為數字的示例。

<html>
    <body>
        <div id="str"></div>
        <div id="num"></div>
        <script>
            let x=document.getElementById("str");
            let str = "123.2";
            x.innerHTML = "Input String: " + str 
                          + ", It is of type: " +typeof str;
            let res=document.getElementById("num");
            let num = Math.floor(str);
            res.innerHTML = "Result: " + num 
                            + ", It is of type: " +typeof num;
        </script>
    </body>
</html>

使用Math.round方法轉換為數字

在這種將字串轉換為JavaScript數字的方法中,我們使用了Math.round方法。它透過型別強制將字串轉換為數字,然後將數字舍入到最接近的整數值,將小數0.5視為臨界點。

示例

這是一個使用**Math.round**方法將字串轉換為數字的示例。

<html>
    <body>
        <div id="str"></div>
        <div id="num"></div>
        <script>
            let x=document.getElementById("str");
            let str = "123.6";
            x.innerHTML = "Input String: " + str 
                          + ", It is of type: " +typeof str;
            let res=document.getElementById("num");
            let num = Math.round(str);
            res.innerHTML = "Result: " + num 
                            + ", It is of type: " +typeof num;
        </script>
    </body>
</html>

使用Math.ceil方法轉換為數字

在這種將字串轉換為JavaScript數字的方法中,我們使用了Math.ceil方法。它透過型別強制將字串轉換為數字,然後將數字舍入到最接近的向上整數值,即使小數位的值很小。

示例

這是一個使用**Math.ceil**方法將字串轉換為數字的示例。

<html>
    <body>
        <div id="str"></div>
        <div id="num"></div>
        <script>
            let x=document.getElementById("str");
            let str = "123.01";
            x.innerHTML = "Input String: " + str 
                          + ", It is of type: " +typeof str;
            let res=document.getElementById("num");
            let num = Math.ceil(str);
            res.innerHTML = "Result: " + num 
                            + ", It is of type: " +typeof num;
        </script>
    </body>
</html>
注意:除**雙波浪線**運算子外,所有上述方法對於非數字字元(既不是數字也不是整數)都返回**NaN(非數字)**。它返回0。

結論

在JavaScript中將字串轉換為數字是一項非常簡單易行的任務。在本文中,我們討論了十二種方法:使用**Number()**建構函式、**parseFloat()**方法、**parseInt()**方法、**一元**運算子、**乘以和除以1**、**從字串中減去0**、按位**非**運算子、**雙波浪線**運算子、**Math.floor()**方法、**Math.round()**方法以及使用**Math.ceil()**方法。

更新於: 2024年9月20日

610 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告