常用金融计算末位保留算法 四舍五入 只入不舍 只舍不入

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

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);
原文地址:https://www.cnblogs.com/taiyonghai/p/6515257.html