【问题标题】:Length of string results in google apps谷歌应用程序中的字符串长度
【发布时间】:2012-06-09 03:24:56
【问题描述】:

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

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

Return 给出以下结果: 数量--长度
4. ---- 3
4.01 -- 3
4.02 -- 18
4.03 -- 3
4.04 -- 3
4.05 -- 3
4.06 -- 18

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

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

【问题讨论】:

  • 在 Chrome 中加载页面。按 F12 加载 WebInspector。转到脚本并在该函数中放置一个断点并验证值。

标签: google-apps google-apps-script


【解决方案1】:

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

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

【讨论】:

  • 感谢您的提示。我会试试看。这一点只是为了测试错误发生在哪里。它在电子表格中创建一个函数,该函数需要一个美元金额并将其转换为书面金额以合并到一个检查运行中。所以 5.12 变成了 5 和 12/100。工作,但这个故障。
  • 正如你所提到的......我得到了一些返回的数字......小数点后 15 位。
  • 好的,然后用amount = amount.toFixed(0);代替amount = amount+'';。顺便说一句,既然您是 stackoverflow 的新手,我会说,当您觉得自己得到一个好的答案时,您应该检查答案是否已接受。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-19
相关资源
最近更新 更多