2012-05-24 59 views
1

請參閱下面的代碼,發現錯誤的值。將字符串轉換爲Javascript中的浮點錯誤

例如;

var FirstValue=0.00; 
var secondvalue=parseFloat("22.88",10).toFixed(2);  
var thirdvalue=(FirstValue) + (secondvalue); 

我越來越喜歡價值 「22.8822.88」

請幫我solve.Its不能轉換爲數字。

+0

這實際上是你的代碼嗎?我沒有得到正確的結果,但我沒有看到你所看到的。 'toFixed'後面還有一個額外的''''。 http://jsfiddle.net/DJSRV/3/ –

+0

謝謝..它不是一個實際的代碼..但那裏有額外的關閉。我刪除它。 – Justinonday

回答

4

toFixed將浮點值轉換爲字符串返回。因此,當您添加兩個值時,您將不會添加數字,但會獲得字符串連接:

2.0 + 2.0 = 4.0 // number 
"2.0" + "2.0" = "2.02.0" // string 

轉換後刪除到固定值。不是添加兩個值,比做固定:

var FirstValue=0.00; 
var secondvalue=parseFloat("22.88",10);  
var thirdvalue= ((FirstValue) + (secondvalue)).toFixed(2); 
+0

ok.Its漂浮。但我的第二個值可能是整數像「10」,我正在使用這個內部循環。 – Justinonday

+0

然後給它的錯誤,如「Microsoft JScript運行時錯誤:對象不支持此屬性或方法」 – Justinonday

+0

我測試它在IE6和FireFox - 它適用於我。複製該代碼 - 這是工作。你的代碼中可能存在其他問題? – alexey28

0

試試這個:

var FirstValue=0.00; 
var secondvalue=parseFloat("22.88"); 
secondvalue = parseFloat(secondvalue.toFixed(2)); 
var thirdvalue=(FirstValue) + (secondvalue); 

toFixed所以它需要再次轉換返回一個字符串,而不是數量。