如何正确执行formatfloat int64 for billion number

时间:2018-02-12 04:08:32

标签: delphi-7

所以,我正在使用delphi 7,我有一个编辑框可以放入一个数字。因为它将它用作货币值,为了使用户更容易,我为该号码添加了一千个分隔符。我对此 onkeyup 事件进行了编码。这是代码:

var 
  a, after : string; 
  iValue, iCode : integer;
begin
  a := edit1.Text;
  after := stringreplace(a,'.','', [rfreplaceall, rfignorecase]);
  val(after, iValue, iCode);
  if iCode = 0 then
  begin
    a := FormatFloat('#,##0',strtoint64(after));
    edit1.Text := a;
    edit1.selStart := Length(Edit1.Text);
  end;
end;

这没关系,但每当我投入超过十亿时,它都没有用。 例如,我把2.680.000.000,它显示:

  

268.000.0000

如何解决这个问题? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以将TMaskEdit与以下掩码###,###,###,###,###.00;一起使用,例如:

enter image description here