在Delphi中舍入货币数据类型的正确方法是什么?

时间:2016-11-21 13:17:13

标签: delphi rounding

我知道浮动数据类型不能100%准确地表示。我在我的应用程序中更改为Currency数据类型。我的问题四舍五入。此代码重现了我的问题:

// uses Math;

var
  Unrounded, Rounded: Currency;
begin
  Unrounded := 6.765;
  SetRoundMode(rmNearest);
  Rounded := RoundTo(unRounded, -2); // was hoping to get 6.77
  showmessage(CurrToStr(Rounded)); // returns 6.76
end;

我知道RoundTo函数使用Extended,那么舍入货币的正确方法是什么?

编辑:似乎我已经陷入银行家舍入方法^^。这就是为什么我得到6.76而不是6.77 ......有没有办法让“非银行家” - 周围?

0 个答案:

没有答案