我从工作表中拉出数字并将它们与用户通过html进行选择进行比较。不过,即使Google表格中的数字都是整数类型数字,例如1001,1002等,Logger.log中的数字显示为浮点数。当试图将数字与用户输入进行比较时,总是会出现错误,将float(从表单)与int(来自用户)进行比较。将float转换为int不起作用
我试着将返回的浮点数转换为int使用parsteInt,Math.floor和一轮。它似乎并没有转换变量。我应该使用另一种方法吗?
我从工作表中拉出数字并将它们与用户通过html进行选择进行比较。不过,即使Google表格中的数字都是整数类型数字,例如1001,1002等,Logger.log中的数字显示为浮点数。当试图将数字与用户输入进行比较时,总是会出现错误,将float(从表单)与int(来自用户)进行比较。将float转换为int不起作用
我试着将返回的浮点数转换为int使用parsteInt,Math.floor和一轮。它似乎并没有转换变量。我应该使用另一种方法吗?
我得到这样的问题,并使用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];
最后它的工作。
斯特凡
我相信'number.split ...'在这个例子中应该是'value.split ...' – trevordmiller
JavaScript没有整数或浮...只是数字。所以3.0和3是相等的,如果它们是数字的话。
很可能您的用户输入是字符串,而不是数字。您需要将字符串强制转换为数字。
if (+userInput === 3) { etc.
在其他问题中有lots more examples这个。
它适合我。你可以请你分享你的代码并输出你想要做的事情吗? – pointNclick