我是一个jscript新手,我有一个问题。JScript中的精度错误?
我正在写一个脚本来验证比利时的IBAN银行帐号。我需要用搜索字符串中的位置来替换一些字母,然后将该字符串转换为数字以进行模97测试。
第一部分进行得很顺利,但之后从字符串转换为数字,10被添加到我的号码。我不知道我做错了什么。
function checkIBAN()
{
var iban = crmForm.all.fp_iban.DataValue;
if (iban != null)
{
iban = iban.substring(4) + iban.substring(0, 4);
iban = iban.toUpperCase();
var searchString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var pos;
var tmp = '';
for (x = 0; x < iban.length; x++) {
pos = searchString.search(RegExp(iban.charAt(x),'i'));
if (pos == -1)
return false;
else
tmp += pos.toString();
}
alert(tmp); // Here my value is 735320036532111490
var nr =parseInt(tmp);
alert(nr); // Now my value seems to be 735320036532111500
alert(nr % 97);
if (nr % 97 != 1)
{
alert('IBAN number is not correct !');
}
}
}
OK,THI ssolved我的问题, – 2010-12-02 09:01:41
感谢您的链接!我创建了一个可能很有用的Javascript端口:http://jsfiddle.net/nDSmZ/ – Blaise 2011-10-31 16:34:39