2015-07-09 116 views
0

我從工作表中拉出數字並將它們與用戶通過html進行選擇進行比較。不過,即使Google表格中的數字都是整數類型數字,例如1001,1002等,Logger.log中的數字顯示爲浮點數。當試圖將數字與用戶輸入進行比較時,總是會出現錯誤,將float(從表單)與int(來自用戶)進行比較。將float轉換爲int不起作用

我試着將返回的浮點數轉換爲int使用parsteInt,Math.floor和一輪。它似乎並沒有轉換變量。我應該使用另一種方法嗎?

+1

它適合我。你可以請你分享你的代碼並輸出你想要做的事情嗎? – pointNclick

回答

0

我得到這樣的問題,並使用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

我相信'number.split ...'在這個例子中應該是'value.split ...' – trevordmiller

1

JavaScript沒有整數或浮...只是數字。所以3.0和3是相等的,如果它們是數字的話。

很可能您的用戶輸入是字符串,而不是數字。您需要將字符串強制轉換爲數字。

if (+userInput === 3) { etc. 

在其他問題中有lots more examples這個。