我用下面的轉換賈拉利鏈接公曆:當我使用parseInt的結果是NaN,爲什麼?
我來自用戶的字符串接收數據。 這是我使用的代碼:我檢查我的變量
<script>
var jj = document.getElementById("fromDate1"),
bb = document.getElementById("showMe"),
splitOb, yy, mm, dd;
bb.onclick = function() {
splitOb = jj.value.split("/");
for (var i = 0; i < splitOb.length; i++) {
yy = splitOb[0];
mm = splitOb[1];
dd = splitOb[2];
}
var xx = yy.trim().toString(), nn = mm.trim().toString(), mmm = dd.trim().toString();
var xxx = parseInt(xx, 10);
var nnn = parseInt(nn, 10);
var mjj = parseInt(mmm, 10);
var hello = toGregorian(xxx, nnn, mjj);
alert(hello.gy + "/" + hello.gm + "/" + hello.gd);
/* var gh= "1395";
var ghh = parseInt(gh);
alert(ghh);*/
};
</script>
我使用parseInt函數在我的代碼,不幸的是結果是楠,所有的人都爲字符串。但是,當我將它們從字符串轉換爲整數時,結果也是NaN。 當我設置串到我的變量手動這樣的代碼:
var jjj = "1395";
var yyyt = "05";
var kik = "04";
var xxx = parseInt(jjj, 10);
var nnn = parseInt(yyyt, 10);
var mjj = parseInt(kik, 10);
var hello = toGregorian(xxx, nnn, mjj);
alert(hello.gy + "/" + hello.gm + "/" + hello.gd);
一切正常,爲什麼?
如果在xx,nn和mmm上執行'''console.log'',會發生什麼? –
我剛查過,這段代碼正在工作。我不知道你有什麼問題。試試alert(jjj +''+ yyyt +''+ kik);你會得到數字結果...不是NaN –
檢查變量的適當工具是[控制檯](https://getfirebug.com/wiki/index.php/Console_API)。好的[alert()](https://developer.mozilla.org/en-US/docs/Web/API/Window/alert)將所有內容都轉換爲字符串,從而隱藏了相關信息。因爲我們不知道任何變量的內容,所以不可能說出你的代碼有什麼問題。 –