我不知道我在哪裏失敗。我正在嘗試一個簡單的事情:檢索一個輸入,解析它以浮動並用該值進行計算(由用戶引入),但是它返回NaN。解析後浮動輸入值仍爲字符串
這是輸入(I作逗號的字符串替換,以點在我的代碼,但現在我只是想在Firebug控制檯最簡單的方法):
<input id="percent_31" class="form-control input-sm text-right" type="text" name="percent[31]" value="-3.3333">
這是我我試圖:
var percent = parseFloat($('#percent_31').val()).toFixed(2);
console.log(percent);
console.log(jQuery.type(percent));
/*This returns -3.33 and string type*/
console.log((100 + percent)/100);
/*This, as expected, returns NaN*/
另一方面,這工作。
percent = -3.33;
console.log(percent);
console.log(jQuery.type(percent));
/*This returns -3.33 and number type*/
console.log((100 + percent)/100);
/*This returns what I need: 0.9667*/
'toFixed'返回字符串,則無法裁剪你浮這種方式。 – Maxx
['Number.prototype.toFixed()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed)通過設計將數字轉換爲字符串。 –
Maxx說'.toFixed(2);'返回一個字符串 - 因爲'5.00' *技術上*不是數字,它只是'5' - 所以它需要變成一個字符串來保持格式化 – tymeJV