簡體   English   中英

如果字符串是精確數字,如何將字符串轉換為浮點數,不僅以 javascript 中的數字開頭

[英]How to convert string to float if it is an exact number, not only start with number in javascript

我正在嘗試讓 function 檢查字符串。 如果字符串是數字,那么它會將其轉換為浮點數。 否則,它將保持原樣。

例如:我有這些測試字符串:

"123" => 123
"12.3" => 12.3
"12.300" => 12.3
"test123" => "test123"
"123test" => "123test"
"12.3test" => "12.3test"
"123@123.123" => "123@123.123"

我試圖按照下面的方式自行制作,但有時它會通過刪除字母並將真實字符串轉換為數字並保留字符串數字的第一部分

let mynumber="123test@gmail.com"
mynumber = parseFloat(mynumber) ? parseFloat(mynumber) : mynumber;
//output: 123

您可以使用Number()將字符串轉換為數字,並檢查其是否為 NaN。

 function check(num){ return isNaN(Number(num))? num: Number(num); } let mynumber="123test@gmail.com" let mynumber2 = "34234"; let mynumber3 = "3234.234"; let result = check(mynumber); let result2 = check(mynumber2); let result3 = check(mynumber3); console.log(result, typeof result); console.log(result2, typeof result2); console.log(result3, typeof result3);

將您的代碼更改為如下所示

let mynumber="123test@gmail.com"
mynumber = isNaN(mynumber)?mynumber:parseFloat(mynumber)

這里 isNaN 將檢查有效數字

您可以使用isNan檢查參數是否為NaN

let mynumber="123test@gmail.com"
 isNaN(mynumber)
//output: true


let mynumber="123.123"
 isNaN(mynumber)
//output: false

只需在任何字符串之前添加 + 符號,它就會將其轉換為數字。

var a = "10.25";

console.log( +a );


Output:10.25

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM