delphi 中的截断

问题描述 投票:0回答:1

我正在尝试将货币数字分成两个单独的整数,

var
  StrNum: string;
  CurDecimalNum: currency;
  Ammount : currency;
begin

    Ammount := 1868.45;
    StrNum := FormatFloat('00', trunc(frac(Ammount) * 100));   // this will return 44

    CurDecimalNum := frac(Ammount) * 100;                      //Patch7
    StrNum := FormatFloat('00', trunc(CurDecimalNum));         //Patch7 but here I get 45

end.

我是这样做的,但是第一个

FormatFloat()
有问题,它返回44而不是45。

我已经在代码中找到了解决方案,我只需将操作分成两行,我只是很好奇为什么会发生这种情况?

currency truncate delphi-xe
1个回答
0
投票

您是否尝试过删除此行?

StrNum := FormatFloat('00', trunc(frac(Ammount) * 100));

© www.soinside.com 2019 - 2024. All rights reserved.