我尝试在javascript中计算一个简单的除法,但如果我的数字是< 1000 结果并不好。
这是我的代码:
var cal = parseFloat(currentAmount.toString()) / parseFloat(currencyArray[i][j].toString())
如果currencyArray[i][j]
等于1,3703
且currentAmount = 100
我的结果是好的(72.98)
但如果我提出1000
我的结果不好(0.7298... )
答案 0 :(得分:1)
由于您获得的特殊价值,我猜测您的currentAmount
不是1000
,而是1,000
或1 000
或在某些国家/地区甚至1'000
。当parseFloat
获得该值时,它只会看到1
,因为,
不是数字中的有效字符。 1 / 1.3703
为0.7298...
。
数字不能有千位分隔符,小数点必须是一个点。 (作为在法国长大的人,我知道这可能令人困惑!)
答案 1 :(得分:0)
好的,猜测一下。
您似乎将数字作为字符串处理,格式错误,并且您有"1 000"
或"1,000"
,并且您希望将其解析为1000
。你的问题是
parseFloat("1 000")
给出
1
在这种情况下,剥去空格:
var currentAmountAsNumber = parseFloat(currentAmount.toString().replace(/[ ,]/g,''))
但是有一个测试用例可能会让我们简化它。