2

我在 gApps 电子表格中有一个函数,它需要一个美元数字乘以 100,然后返回字符串的长度......

function checkWrite(amount) {
amount = amount * 100
amount = amount+'';
var aLength = amount.length;
return(aLength);

返回结果如下: amount--length
4. ---- 3
4.01 -- 3
4.02 -- 18
4.03 -- 3
4.04 -- 3
4.05 -- 3
4.06 -- 18

... 等等。我得到了很多正确的答案,3,还有一些随机的错误答案 18。

任何人都可以阐明发生了什么吗?我不擅长编码,但我很确定结果应该是一致的。

4

1 回答 1

1

很可能这些数字没有像您期望的那样四舍五入。浮点值并未如您所想的那样准确表示。要检查您是否也应该返回生成的字符串表示形式,例如将最后一行更改为return aLength+' '+amount;

无论如何,这样的功能有什么用?如果我对您的用途有任何想法,我可以建议一些替代解决方案。

于 2012-06-09T04:09:56.480 回答