嗨,
我想創建一個來自數據表中的列的值向量。 其中一些值以數字零開頭。 當我使用parse命令時,它會從數字的開頭截斷零。 該列定義為字符列。 我使用的腳本是eval(parse(column(DTI,“bar_pen”)[i])));我怎麼能這樣做並保留我的初始零?
謝謝,
娃
謝謝,這是一個比我發現的更簡潔的解決方案......
dt = New Table( "Untitled",
Add Rows( 3 ),
New Column( "Bar_Pen", Character, Set Values( {"0001", "9999", "0900"} ) )
);
list = dt:Bar_pen << getvalues;
show(list); // {"0001", "9999", "0900"};
v = dt:Bar_Pen[3];
show(v, parse(v), char(parse(v))); // "0900", 900, "900"
您可能不需要進行將字符數據轉換為代碼的解析(最有可能只是一個數字。)然後您不需要評估已解析的代碼,那麼您不需要轉換已評估的答案(一個數字)回到一個字符串。如果值因數據輸入錯誤而需要清理,則eval / parse似乎可能正在工作,但如果惡作劇用戶在表中放入錯誤代碼,則會失敗。
這最終對我有用:
重複(“0”,4 - 長度(char(eval(解析(列(DTI,“Bar_Pen”)[i])))))|| char(eval(parse(column(DTI,“Bar_Pen”)[i])));