如何將用戶輸入乘以一個常數?全部,
我正在嘗試將用戶輸入數字乘以一個常數。 我需要使用最終數字 (hoursBack) 作為網址的一部分。
local(
{Name= "ABCD", daysBack = "7", formError = 1, rv},
While( formError > 0,
formError = 0;
rv = Dialog(
Title( "Select Extract criteria" ),
VList(
HList( "Name:", Name= EditText( Name) ),
HList( "Days Back", daysBack = EditText( daysBack ) ),
HList( Button( "OK" ), Button( "Cancel" ) )
)
);
If( rv["button"] < 0,
Throw( "Bye!" )
);
Name= rv["Name"];
If( Name== "",
formError
++);
daysBack = rv["daysBack"];
If( daysBack == "",
formError
++);
If( formError > 0,
Dialog( "Missing required form input values" )
);
);
Write( "Name=" || Name);
hoursBack = daysBack*24; //Getting an error here
Status Msg( "Extracting data for " || Name);
dt = queryData( "Newtable", hoursBack, Name); //Query data function is defined in a different part of the code
);收到以下錯誤 -
在訪問或評估 'Multiply' 時無法將參數轉換為數字 [或矩陣],daysBack * /*###*/24 /*###*/
腳本Re: 如何將用戶輸入乘以一個常數?您附加的 png 文件中的錯誤是指名為 p1 和 p2 的變量的問題。這些變量沒有出現在之前檢查過的 JSL 中,所以我只是猜測這個問題。我假設 p1 和 p2 是數值變量,或者至少 JMP 認為它們是。數值不能直接用於串聯。我的建議是您將 p1 和 p2 的每個引用包含在 Char() 函數中。 (即 char(p1) )
Re: 如何將用戶輸入乘以一個常數?我意識到這是因為我在鏈接中連接了 daysBack。 而且我無法連接數字。 我首先使用臨時變量將dayback 轉換為數字,然後將結果乘以24,返回字符。 這解決了這個問題。 謝謝!!
Re: 如何將用戶輸入乘以一個常數?@txnelson謝謝你。 我嘗試了您的建議,但出現錯誤。 我附上了錯誤的快照
Re: 如何將用戶輸入乘以一個常數?問題是您正在從 EditText() 字段輸入您的 daysBack,該字段返回一個字符串,而不是一個數值。因此需要對其進行轉換。請參閱下面的代碼
local(
{Name= "ABCD", daysBack = "7", formError = 1, rv},
While( formError > 0,
formError = 0;
rv = Dialog(
Title( "Select Extract criteria" ),
VList(
HList( "Name:", Name= EditText( Name) ),
HList( "Days Back", daysBack = EditText( daysBack ) ),
HList( Button( "OK" ), Button( "Cancel" ) )
)
);
If( rv["button"] < 0,
Throw( "Bye!" )
);
Name= rv["Name"];
If( Name== "",
formError
++);
daysBack = num(rv["daysBack"]);show(daysback);
If( daysBack == "",
formError
++);
If( formError > 0,
Dialog( "Missing required form input values" )
);
);
Write( "Name=" || Name);
hoursBack = daysBack*24;
show("xx",hoursback) ; //Getting an error here
Status Msg( "Extracting data for " || char(Name));
dt = queryData( "Newtable", hoursBack, Name); //Query data function is defined in a different part of the code
);Re: 如何將用戶輸入乘以一個常數?數量(天數)*24
將幫助您解決 daysback 保存字符串的問題。