2011-07-07 24 views
0
var Height= (rowData.length * 30) + PPPP.top + 10 ; 

當我打印這個時,我得到了9013510 ...而不是90 + 135 + 10 = 235.爲什麼我變成concatentaion而不是加法。加成變成連接

+0

是PPPP.top一個字符串,也許? –

回答

1

這可能是錯誤地將其中一個值視爲字符串。嘗試使用parseInt,看看是否可行:

var Height= (rowData.length * 30) + parseInt(PPPP.top, 10) + 10; 
+1

parseInt(10,10)? –

+0

哈哈,是的,也許矯枉過正!事實上,其他人都發現它實際上只是PPPP.top值,它需要parseInt – duncan

2

PPPP.top可能是一個字符串。嘗試:

var Height= (rowData.length * 30) + parseInt(PPPP.top, 10) + 10 ; 
+0

+1,用於在調用[parseInt](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/parseInt)時指定基數。 –

3

您可能需要將PPPP.top轉換爲數字,例如。

var Height = (rowData.length * 30) + parseFloat(PPPP.top) + 10; 
1

您可以使用parseInt。

var Height= (rowData.length * 30) + parseInt(PPPP.top, 10) + 10 ; 

我已經改變基數座10

+2

如果你想避免像08用戶輸入變爲0那樣的parseInt,應該總是給出基數參數。 – duncan

+0

是的,謝謝。但是你知道什麼時候驗證會發揮作用,我們必須確保一切正常。我在這裏給出了提示,你怎麼處理它。如何讓用戶輸入價值可能有很多種方法。 –