C# 保留n位小数的问题

本文探讨了在C#中如何保留指定小数位数,特别是使用Math.Round方法进行四舍五入的不同策略。文章通过示例代码详细解释了MidpointRounding枚举的四种策略:AwayFromZero、ToEven、ToNegativeInfinity、ToPositiveInfinity和ToZero,帮助开发者理解如何根据需求选择合适的舍入方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在计算数字时,有时会需要保留几位小数,有时需要四舍五入,有时候需要直接舍弃后面的小数,有时候需要进一位,其实C#的Math.Round()方法有提供相应的选项,即MidpointRounding
我们翻阅Math.Round Method可以看到,Math.Round()有多参数重载。
其中Math.Round(Decimal, Int32, MidpointRounding)支持保留n位小数,并且选择四舍五入的策略。

下面是例子代码

var originalNumber = (decimal)9.081;
var nomalNumber = Math.Round(originalNumber, 2);//output:9.08
var toEvenNumber = Math.Round(originalNumber, 2, MidpointRounding.ToEven);//output:9.08
var awayFromZeroNumber = Math.Round(originalNumber, 2, MidpointRounding.AwayFromZero);//output:9.08
var toZeroNumber = Math.Round(originalNumber, 2, MidpointRounding.ToZero);//output:9.08
var toNegativeInfinityNumber = Math.Round(originalNumber, 2, Mid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值