javascript
2013-08-25 68 views -7 likes 
-7

我有這段JavaScript代碼:ParseFloat輸出爲NaN

var id = $(this).attr("class"); 

var productname = $("td[title='product"+id+"']").html(); 
var newproductname = parseFloat(productname); 

HTML:

<td class='drinkName' title='product10'>fanta</td> 

輸出爲newproductname的是NaN,而不是芬達......這是什麼問題? 我想要產品名稱作爲輸出。

+3

呢? –

+0

你究竟想在這裏做什麼?如果'productname'是'fanta',那麼'newproductname'應該是什麼,爲什麼? –

+3

你有沒有考慮嘗試* 7上升*而不是? – Boann

回答

2

這是因爲你試圖解析一個字符串,沒有有效的數字。所以,它不能被轉換成數字。這就是爲什麼parseFloat返回NaN

parseFloat的參數必須始終是包含有效數字的字符串。您不能將fanta轉換爲浮點值,因爲它中沒有數字。

從這 -

parseFloat是一個頂級功能,並且不與任何 對象相關聯。

parseFloat解析它的參數,一個字符串,並返回一個浮點數 。如果遇到除符號(+或 - ),數字(0-9),小數點或指數之外的字符,則返回值 直到該點,並忽略該字符和所有後續的 字符。前後空格是允許的。

如果第一個字符不能轉換爲數字,parseFloat 將返回NaN。

爲了計算目的,NaN值不是任何基數中的數字。 您可以調用isNaN函數來確定 parseFloat的結果是否爲NaN。如果將NaN傳遞給算術運算,那麼 運算結果也將是NaN。

下面的例子都返回3.14 -

parseFloat("3.14"); 
parseFloat("314e-2"); 
parseFloat("0.0314E+2"); 
parseFloat("3.14more non-digit characters"); 

下面的示例返回NaN - 爲什麼你使用`parseFloat`

parseFloat("FF2"); 
4

因爲fanta不是數字O_O

3

parsefloat希望像2.2或5芬達一個數字是不是數字,因此NAN它代表not a number

相關問題