最近接触金融计算的业务,其中涉及到人民币最小交易单位为分,所以需要有四舍五入、只入不舍、只舍不入三种末位保留算法的选择,以防忘记,记录一下

decimal serviceCharge = 0;
//四舍五入(默认的Round方法使用的四舍六入五保留的算法,所以得改为AwayFromZero,且保留两位小数)
serviceCharge = Math.Round(serviceCharge, 2, MidpointRounding.AwayFromZero);
//只入不舍(默认计算保留到整数位,所以需要乘100)
serviceCharge = (Math.Ceiling(serviceCharge * 100) / 100);
//只舍不入(默认计算保留到整数位,所以需要乘100)
serviceCharge = (Math.Floor(serviceCharge * 100) / 100);

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-18
  • 2022-12-23
  • 2022-12-23
  • 2021-08-14
  • 2022-02-09
  • 2021-12-18
猜你喜欢
  • 2022-01-17
  • 2022-12-23
  • 2021-08-31
  • 2022-12-23
  • 2022-12-23
  • 2021-11-20
相关资源
相似解决方案