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然后我提醒测试& test1变量 在测试警报中它显示正确的值,即“9”,但在test1警报中显示消息,如“Nan” 如果res变量包含值5.35那么它工作正确ietest = 3& TEST1 = 5 只有当test1包含值“0”时它才会起作用,它会给出消息“Nan”
答案 0 :(得分:0)
问题是您创建了'12.3'
之类的字符串,并将其拆分为3
。该字符串上的.charAt(1)
返回一个空字符串''
,其中parseInt变为NaN
。
嗯,一个简单而又笨拙的修复方法是:
test1 = test1 || 0;
您也可以考虑计算而不是字符串操作:
var result = 98.1234;
var d1 = Math.floor(result * 10) % 10;
var d2 = Math.floor(result * 100) % 10;