回答
var val = document.getElementById('trade_gold').value,
trade_gold = parseFloat(val) || 0;
完美的感謝...... – user1022585 2012-04-17 17:28:55
打敗了我,所以我會把我的演示放在這裏:http://jsfiddle.net/jtbowden/yKK2K/(我使用parseFloat,但它取決於你期待的號碼。) – 2012-04-17 17:28:56
@JeffB:'parseFloat'是個好主意。剛剛更新。 – 2012-04-17 17:29:22
var value = document.getElementById('trade_gold').value;
value = parseInt(value, 10);
// parseInt will return NaN if the conversion failed
if (isNaN(value)) {
value = 0;
}
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/parseInt
var trade_gold = 0;
try{
trade_gold = parseInt(document.getElementById('trade_gold').value, 10);
}catch(e){}
'try/catch'不會幫助。 'parseInt'不會拋出,而是返回'NaN'。 – 2012-04-17 17:27:00
這將檢查是否是一個數字或者沒有,將值更改爲0,如果不是這樣的。
var trade_gold = document.getElementById('trade_gold').value;
if (trade_gold.search(/[^0-9]/)>=0)
{
// not a number
trade_gold = 0;
}
[...]在正則表達式中做了什麼? – jbabey 2012-04-17 17:30:46
檢查字符串是否包含在括號中指定的字符 – aquatorrent 2012-04-17 17:55:13
這是什麼;) – jbabey 2012-04-17 17:56:06
先試着做alert(trade_gold),看看它是否是你期望的值。如果它是一個數字,parseInt將起作用。 – aurbano 2012-04-17 17:22:29
更具體地說明您使用parseInt時遇到的問題。這是將字符串解析爲數字的常用方法。 – 2012-04-17 17:23:54
parseInt or parseFloat – 2012-04-17 17:25:07