我正在尝试将货币数字分成两个单独的整数,
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。
我已经在代码中找到了解决方案,我只需将操作分成两行,我只是很好奇为什么会发生这种情况?
您是否尝试过删除此行?
StrNum := FormatFloat('00', trunc(frac(Ammount) * 100));