2010-11-29 59 views
1
var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec); 
var resstr=result.toString(); 
var res=resstr.split("."); 
var test=parseInt(res[1].charAt(0)); 
var test1=parseInt(res[1].charAt(1)); 

這是我的代碼,當我在res變量的值是5.90,然後我警告測試&測試警報test1的變量 它顯示即「9」,但在test1的警報正確值讀取值爲零它示出了像「南」 消息如果解析度變量包含值5.35然後它的工作正確ietest = 3 & TEST1 = 5 只有當TEST1包含值它不工作的「0」它給消息「南」如何使用parseInt函數功能

回答

0

問題是你創建了一個字符串,如'12.3',並將其拆分爲3。該字符串上的.charAt(1)返回空字符串'',parseInt變爲NaN

那麼,一個簡單而哈克的解決將是:

test1 = test1 || 0; 

您也可以考慮計算的,而不是字符串操作:

var result = 98.1234; 
var d1 = Math.floor(result * 10) % 10; 
var d2 = Math.floor(result * 100) % 10;