首页 > 解决方案 > 帕斯卡,如何将整数标记为货币价值

问题描述

如何将整数标记为数千和数百?
就说我有一个整数12345678910,然后我想把它改成一个像12.345.678.910这样的货币值。
我尝试以下代码,但它不起作用。

procedure TForm1.Button1Click(Sender: TObject);
var
j,iPos,i, x, y : integer;
sTemp, original, hasil, data : string;
begin

 original := edit1.Text;
 sTemp := '';
  j := length(edit1.Text);
 i := 3;
   while i < j do
    begin
      insert('.',original, (j-i));
      edit1.Text := original;
      j := length(edit1.Text);
       for x := 1 to y do
        begin
         i := i + ( i + x );
        end;
    end;
   edit2.Text := original;

标签: delphiintegercurrencypascal

解决方案


Delphi http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.SysUtils.Format中有 System.SysUtils.Format 调用。

此调用将'm'字符理解为特定于货币的格式化程序。试试这样的代码:

Value := 12345678910;
FormattedStr := Format('Money = %m', [Value])

默认情况下Format将使用系统范围的格式设置,如果您必须覆盖默认系统设置,请参阅官方文档:

转换由 CurrencyString、CurrencyFormat、NegCurrFormat、ThousandSeparator、DecimalSeparator 和 CurrencyDecimals 全局变量或它们在 TFormatSettings 数据结构中的等效变量控制。如果格式字符串包含精度说明符,它将覆盖 CurrencyDecimals 全局变量或其等效的 TFormatSettings 给出的值。


推荐阅读