Я использовал ссылку ниже для преобразования Jalali в григорианский:Когда я использую 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);
Все отлично работает, почему?
Что произойдет, если вы выполните '' 'console.log''' на xx, nn и mmm? –
Я только что проверил, этот код работает. Я не знаю, где у вас проблемы. попробуйте оповещение (jjj + '' + yyyt + '' + kik); и вы получите число результатов ... не NaN –
Правильный инструмент для проверки переменных - это [console] (https://getfirebug.com/wiki/index.php/Console_API). Хороший старый [alert()] (https://developer.mozilla.org/en-US/docs/Web/API/Window/alert) передает все в строку, тем самым скрывая соответствующую информацию. Невозможно сказать, что не так с вашим кодом, так как мы действительно не знаем содержание любой переменной. –