如果数字大于1000,则Javascript calcul不起作用

时间:2014-05-14 12:00:31

标签: javascript arrays division parsefloat

我尝试在javascript中计算一个简单的除法,但如果我的数字是< 1000 结果并不好。

这是我的代码:

var cal = parseFloat(currentAmount.toString()) / parseFloat(currencyArray[i][j].toString())

如果currencyArray[i][j]等于1,3703currentAmount = 100我的结果是好的(72.98) 但如果我提出1000我的结果不好(0.7298... )

2 个答案:

答案 0 :(得分:1)

由于您获得的特殊价值,我猜测您的currentAmount不是1000,而是1,0001 000或在某些国家/地区甚至1'000。当parseFloat获得该值时,它只会看到1,因为,不是数字中的有效字符。 1 / 1.37030.7298...

数字不能有千位分隔符,小数点必须是一个点。 (作为在法国长大的人,我知道这可能令人困惑!)

答案 1 :(得分:0)

好的,猜测一下。

您似乎将数字作为字符串处理,格式错误,并且您有"1 000""1,000",并且您希望将其解析为1000。你的问题是

parseFloat("1 000")

给出

1

在这种情况下,剥去空格:

var currentAmountAsNumber = parseFloat(currentAmount.toString().replace(/[ ,]/g,''))

但是有一个测试用例可能会让我们简化它。