begin
S:=FormatFloat(',0.00',12345678.90);
S_New:='';
for I:=1 to Length(S) do
if Copy(S,I,1)=' ' then
S_New:=S_New+','
else
S_New:=S_New+Copy(S,I,1);
end
Но сразу могу сказать, что зависит от системного разделителя тысячных разрядов (сейчас идёт сравнение с "пробелом") )
P.S. Для тех кто не понял - это функция для скрипта в самой форме ...
Спасибо. Как подключать свои функции к FR я пока не разобрался. А в скрипте я извратился так:
begin
RoubleDebetStr:='';
ValueFloat:=[ADOTableStatementsRecords."RoubleDebet"];
ValueStr:=[STR([ValueFloat])];
l:=LENGTH(INT([ValueFloat]));
j:=l;
For i:=1 to l do
begin
RoubleDebetStr:=RoubleDebetStr+[COPY([ValueStr],i,1)];
j:=j-1;
If (j=15)or(j=12)or(j=9)or(j=6)or(j=3) then
RoubleDebetStr:=RoubleDebetStr+',';
end;
d1:=[COPY([ValueStr],l+2,1)];
If d1='' then d1:='0';
d2:=[COPY([ValueStr],l+3,1)];
If d2='' then d2:='0';
RoubleDebetStr:=RoubleDebetStr+'.'+d1+d2;
end
Комментарии
Но сразу могу сказать, что зависит от системного разделителя тысячных разрядов (сейчас идёт сравнение с "пробелом") )
P.S. Для тех кто не понял - это функция для скрипта в самой форме ...