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 时,我会提醒 test & test1 变量 在测试警报中,它显示正确的值,即“9”,但在 test1 警报中,它显示类似“Nan”的消息 如果 res 变量包含值 5.35 那么它工作正确,即 test=3 & test1=5 只有当 test1 包含值“0”时它不起作用,它给出消息“Nan”
最佳答案
问题在于您创建了一个字符串,例如 '12.3'
,并将其拆分为 3
。该字符串上的 .charAt(1)
返回一个空字符串 ''
,parseInt 会变成 NaN
。
嗯,一个简单而hacky的修复方法是:
test1 = test1 || 0;
您还可以考虑计算而不是字符串操作:
var result = 98.1234;
var d1 = Math.floor(result * 10) % 10;
var d2 = Math.floor(result * 100) % 10;
关于javascript - 如何使用 parseInt 函数读取值零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4301635/