我从工作表中提取数字,并通过html与用户选择进行比较。然而,即使谷歌表中的数字都是int类型数字,如1001,1002等,Logger.log中的数字显示为浮点数。当尝试将数字与用户输入进行比较时,总是将浮动(从表格)与int(来自用户)进行比较。
我尝试使用parsteInt,Math.floor和round将返回的float转换为int。它似乎没有转换变量。我应该使用另一种方法吗?
答案 0 :(得分:1)
我遇到了这种问题并使用了2种解决方法: 对于脚本,我必须在属性中存储值,但是当我调用属性时它是文本而不是数字,双数不是我的计算的问题。所以我这样做:
var prop = PropertiesService.getUserProperties();
var number = parseInt(prop.getProperty('PROPERTY_NAME'));
//do some stuffs after
另一个脚本我必须更脏一点,因为从属性我得到例如“8.0”而不是“8”。所以我这样做:
var prop = PropertiesService.getUserProperties();
var value = prop.getProperty('PROPERTY_NAME');
var number = number.split(".")[0];
最后它起作用。
斯特凡
答案 1 :(得分:1)
JavaScript没有整数或浮点数......只是数字。所以3.0和3是相等的,如果它们是数字的话。
您的用户输入可能是字符串,而不是数字。您需要将字符串强制转换为数字。
if (+userInput === 3) { etc.
其他问题中有lots more examples。