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


我們可以使用JavaScript中的`parseFloat()`函式或`Number()`建構函式將字串轉換為浮點數。其他方法,例如使用`+`運算子、`eval()`和`parseInt()`方法,也可以用於此目的。將字串轉換為浮點數是JavaScript中常見的操作。當處理以字串表示的數字時,例如從輸入欄位或CSV檔案讀取資料時,需要進行此轉換。在本文中,我們將詳細學習這些方法。

轉換方法

在JavaScript中,有多種方法可以將字串轉換為浮點數。最常用的方法是`parseFloat()`函式和`Number()`建構函式。

`parseFloat()`函式

`parseFloat`函式是JavaScript中一個將字串轉換為帶小數的數字的工具。你提供一個單詞或句子,它返回一個數字。它易於使用,並且內置於JavaScript中。

語法

`parseFloat()`函式的語法如下:

parseFloat(string)

示例

以下是如何使用`parseFloat()`函式的示例:

<!DOCTYPE html>
<html>
<body>
   <p id="demo"></p>
   <script>
      let string = "3.14";
      let float = parseFloat(string);
      document.getElementById("demo").innerHTML = float;
      
      //output:3.14
   </script>
</body>
</html>

雖然`parseFloat()`函式對於將字串轉換為浮點數非常方便,但它有一些限制。該函式只轉換字串中第一個有效浮點數的部分。如果字串中浮點數之後有任何非數字字元,該函式將忽略它們。

`Number()`建構函式

JavaScript包含一個名為`Number()`的內建函式,它提供了一種替代方法,可以將表示為字串的數字轉換為浮點數。它返回輸入字串的等效浮點表示。`Number()`函式比`parseFloat()`函式提供了一種更靈活的方法來將字串轉換為浮點數,並且它可以處理更廣泛的資料型別的型別轉換,包括整數和其他數字型別。

語法

`Number()`建構函式的語法如下:

new Number(string)

示例

以下是如何使用`Number()`建構函式的示例:

<!DOCTYPE html>
<html>
<body>
   <p id="demo"></p>
   <script>
      let string = "3.114";
      let float = new Number(string);
      document.getElementById("demo").innerHTML = float; //output:3.114
   </script>
</body>
</html>

雖然`Number()`函式對於將字串轉換為浮點數很有用,但它有一些限制。該函式的效能不如`parseFloat()`函式,因此不應使用。

其他方法

在JavaScript中,還有其他方法可以將字串轉換為浮點數。這些方法包括使用`+`運算子、`parseInt()`函式和`eval()`函式。

`+`運算子

`+`運算子是一個簡單的工具,它可以幫助你使用浮點數作為輸入將單詞轉換為數字。只需提供一個表示數字的單詞,它就會將其轉換為稱為浮點數的數字型別。此工具很有用,但它僅適用於實際上是數字的單詞。它無法更改不代表數字的單詞。

語法

`+`運算子的語法如下:

+string

示例

以下是如何使用`+`運算子的示例:

<!DOCTYPE html>
<html>
<body>
   <p id="demo"></p>
   <script>
      let string = "3.4";
      let float = +string;
      document.getElementById("demo").innerHTML = float; //output:3.4
   </script>
</body>
</html>

`parseInt()`函式

JavaScript內建的`parseInt()`函式將文字轉換為整數或整數值。`parseInt()`方法接受字串作為輸入,並輸出整數值。要將字串轉換為浮點數,請使用`parseInt()`函式並將基數(基數)10作為附加引數傳遞。讓我們來看一個示例來幫助我們理解。

語法

`parseInt()`函式的語法如下:

parseInt(string, radix)

示例

以下是如何使用`parseInt()`函式將字串轉換為浮點數的示例:

<!DOCTYPE html>
<html>
<body>
   <p id="demo"></p>
   <script>
      let string = "3.4";
      let float = parseInt(string, 10);
      document.getElementById("demo").innerHTML = float; //output:3
   </script>
</body>
</html>

`eval()`函式

`eval()`方法是JavaScript內建函式,它將字串作為JavaScript表示式進行評估。它接受字串作為引數並返回結果,就像`parseInt()`函式一樣。將文字轉換為浮點數是`eval()`的常見用例。你可以透過將表示浮點數的字串作為引數傳遞給`eval()`來實現這一點。之後,函式將評估表示式並返回浮點值。總的來說,`eval()`是一個用於執行動態程式碼的有用函式,但應謹慎使用以避免安全問題。

語法

`eval()`函式的語法如下:

eval(string)

示例

以下是如何使用`eval()`函式將字串轉換為浮點數的示例:

<!DOCTYPE html>
<html>
<body>
   <p id="demo"></p>
   <script>
      let string = "3.456"; 
      let float = eval(string);
      document.getElementById("demo").innerHTML = float; //output:3.456
   </script>
</body>
</html>

請注意,`eval()`函式被認為是一個危險的函式,因為它可以執行傳遞給它的任何JavaScript程式碼,如果使用不當,這可能會導致安全風險。因此,不建議使用`eval()`函式將字串轉換為浮點數。

結論

在本博文中,我們討論了各種將字串轉換為數字的方法。最常用的方法是`parseFloat()`函式和`Number()`建構函式。但是,`+`運算子、`parseInt()`函式和`eval()`函式也可以用於將字串轉換為浮點數。每種方法都有其自身的優點和缺點,最佳使用方法取決於具體的場景。開發人員應該瞭解每種方法的侷限性並相應地使用它們。

更新於:2023年2月21日

12K+ 瀏覽量

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告