gpt4 book ai didi

delphi - 在 FastReport VCL 5 脚本中使用 FormatFloat

转载 作者:行者123 更新时间:2023-12-01 23:16:04 30 4
gpt4 key购买 nike

我正在尝试使用以下脚本将货币格式的值打印到报告上的 TfrxMemoView:

procedure txCreditLimitOnBeforePrint(Sender: TfrxComponent);
begin
if <TRAN."CREDITAPPROVED"> = 1 then
txCreditLimit.Text := 'Credit Limit: ' + FormatFloat('%2.2m', <TRAN."CREDITLIMIT">)
else
txCreditLimit.Text := '';
end;

但是我得到的只是 %2.2m 而不是实际值。我究竟做错了什么?

最佳答案

FastReport 中的 FormatFloat 函数的工作方式类似于 FormatFloat在 Delphi 中,因此您可以使用:

procedure txCreditLimitOnBeforePrint(Sender: TfrxComponent);
begin
if <TRAN."CREDITAPPROVED"> = 1 then
txCreditLimit.Text := 'Credit Limit: ' + FormatFloat('#,##0.00 €', <TRAN."CREDITLIMIT">)
else
txCreditLimit.Text := '';
end;

由于 FormatFloat 不支持系统货币,另一种方法可能是使用绑定(bind)到包含表达式的数据集的备忘录,例如Credit Limit: [TRAN."CREDITLIMIT"]并使用您提到的语法在对象检查器中格式化此备忘录。您的打印条件将更改为:

procedure txCreditLimitOnBeforePrint(Sender: TfrxComponent);
begin
txCreditLimit.Visible := <TRAN."CREDITAPPROVED"> = 1;
end

enter image description here

方括号内的表达式将在 TextObjects 中计算,例如
[<DS."a">] * 2 := [<DS."a"> + <DS."a">]将导致输出:12.50 € * 2 = 25.00 €
如果 TfrxMemoView 的格式定义为 %2.2m 。在所示的示例中,这两项(包含在方括号中)均已格式化,另外还计算了第二项。

关于delphi - 在 FastReport VCL 5 脚本中使用 FormatFloat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27967205/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com