L
LiChaoHui
Unregistered / Unconfirmed
GUEST, unregistred user!
因为$是单字节,仅仅是为了下一步替换为¥作准备的,
其实方法很多,也可以这样写
s := Format('%d', [DataSet.FieldByName('opvalue').AsInteger]);
for i := 1 to Length(s)do
begin
t := t + s + ' ';
end;
s := StringOfChar(' ', (9 - Length(s))*2) + '¥' + s;
DataSet.FieldByName('opvalue_s').AsString := t;
注意,如果货币转化为字符串时达到10位,则上面的方法会有问题,
因为没有判断这种情况,倒数第二行这么写
if Length(s) < 20 then
s := StringOfChar(' ', (9 - Length(s))*2) + '¥' + s;
不知道你明白了没有呢
其实方法很多,也可以这样写
s := Format('%d', [DataSet.FieldByName('opvalue').AsInteger]);
for i := 1 to Length(s)do
begin
t := t + s + ' ';
end;
s := StringOfChar(' ', (9 - Length(s))*2) + '¥' + s;
DataSet.FieldByName('opvalue_s').AsString := t;
注意,如果货币转化为字符串时达到10位,则上面的方法会有问题,
因为没有判断这种情况,倒数第二行这么写
if Length(s) < 20 then
s := StringOfChar(' ', (9 - Length(s))*2) + '¥' + s;
不知道你明白了没有呢