使用 Delphi 的货币格式
Currency Formatting with Delphi
我正在尝试在 Delphi 中编写代码,它将以货币格式显示给定的数字,如下所示:
现在,如果填充整数和另一个字段,它会起作用,直到任何参数被更新。
我很高兴有一个代码可以在我写的时候以货币格式显示数字。我试图通过输入以下内容来管理它:
procedure TForm1.EditZakladChange(Sender: TObject);
var zaklad: Currency;
begin
zaklad := StrToFloat(EditZaklad.Text);
EditZaklad.Text := FloatToStrF(zaklad, ffCurrency, 10, 2);
end;
end.
但是每次在(zaklad字段)输入someting时,都会出现这个错误:
有人可以帮我吗?
确保 edtZaklad 的 MaxLength 为 0。
var
Form21: TForm21;
Check:string; //to break the loop.
function GetCurrency(Num: String):string;
var
i: Integer ;
Str:String;
zaklad: Currency;
begin
Result := '';
for i := 1 to length(Num) do
begin
if (Num[i] in ['0'..'9']) then
Begin
Str := Str + Num[i] ;
zaklad := StrToFloat(Str);
Result := FloatToStrF(zaklad, ffCurrency, 10, 2);
Check := Result;
End;
end;
end;
function ExtractCurrencySymbol(zaklad: String):string;
var
i: Integer ;
Str:String;
begin
Result := '';
for i := 1 to length(zaklad) do
begin
if NOT (zaklad[i] in ['0'..'9','.',',']) then
Begin
Str := Str + zaklad[i];
Result := ' '+Trim(Str);
end;
end;
end;
procedure TForm21.EditZakladChange(Sender: TObject);
begin
if AnsiPos(Check,EditZaklad.Text) <> 0 then exit;
if (Trim(EditZaklad.Text) = '') then exit
else
begin
EditZaklad.Text := GetCurrency(EditZaklad.Text)+ExtractCurrencySymbol(EditZaklad.Text);
Exit;
end;
end;
我希望这就是你所要求的。
我正在尝试在 Delphi 中编写代码,它将以货币格式显示给定的数字,如下所示:
现在,如果填充整数和另一个字段,它会起作用,直到任何参数被更新。 我很高兴有一个代码可以在我写的时候以货币格式显示数字。我试图通过输入以下内容来管理它:
procedure TForm1.EditZakladChange(Sender: TObject);
var zaklad: Currency;
begin
zaklad := StrToFloat(EditZaklad.Text);
EditZaklad.Text := FloatToStrF(zaklad, ffCurrency, 10, 2);
end;
end.
但是每次在(zaklad字段)输入someting时,都会出现这个错误:
有人可以帮我吗?
确保 edtZaklad 的 MaxLength 为 0。
var
Form21: TForm21;
Check:string; //to break the loop.
function GetCurrency(Num: String):string;
var
i: Integer ;
Str:String;
zaklad: Currency;
begin
Result := '';
for i := 1 to length(Num) do
begin
if (Num[i] in ['0'..'9']) then
Begin
Str := Str + Num[i] ;
zaklad := StrToFloat(Str);
Result := FloatToStrF(zaklad, ffCurrency, 10, 2);
Check := Result;
End;
end;
end;
function ExtractCurrencySymbol(zaklad: String):string;
var
i: Integer ;
Str:String;
begin
Result := '';
for i := 1 to length(zaklad) do
begin
if NOT (zaklad[i] in ['0'..'9','.',',']) then
Begin
Str := Str + zaklad[i];
Result := ' '+Trim(Str);
end;
end;
end;
procedure TForm21.EditZakladChange(Sender: TObject);
begin
if AnsiPos(Check,EditZaklad.Text) <> 0 then exit;
if (Trim(EditZaklad.Text) = '') then exit
else
begin
EditZaklad.Text := GetCurrency(EditZaklad.Text)+ExtractCurrencySymbol(EditZaklad.Text);
Exit;
end;
end;
我希望这就是你所要求的。