嗨,
我想创建一个来自数据表中的列的值向量。 其中一些值以数字零开头。 当我使用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])));