C# C语言中不同情况下的向上或向下小数#
我用C#编写了计费系统的应用程序 账单总额可以向上或向下取整,以方便客户向出纳付款。这取决于以美分结尾的最后一个值。我使用数据类型为decimal进行计算 当以0.00、0.01、0.02分结束时,它将向下四舍五入到0.00分 示例:C# C语言中不同情况下的向上或向下小数#,c#,winforms,decimal,C#,Winforms,Decimal,我用C#编写了计费系统的应用程序 账单总额可以向上或向下取整,以方便客户向出纳付款。这取决于以美分结尾的最后一个值。我使用数据类型为decimal进行计算 当以0.00、0.01、0.02分结束时,它将向下四舍五入到0.00分 示例: 10.00、10.01或10.02四舍五入到10.00 10.10、10.11或10.12四舍五入至10.10 当以0.03、0.04、0.05美分结束时,它将向上取整到0.05美分 示例: 10.03、10.04或10.05四舍五入至10.05 10.13
- 10.00、10.01或10.02四舍五入到10.00
- 10.10、10.11或10.12四舍五入至10.10
- 10.03、10.04或10.05四舍五入至10.05
- 10.13、10.14或10.15四舍五入至10.15
- 10.05、10.06或10.07四舍五入到10.05
- 10.15、10.16或10.17四舍五入至10.15
- 10.08或10.09四舍五入至10.10
- 10.18或10.19四舍五入至10.20
我希望有人能帮我解决这个问题。我想建议一种扩展方法,检查最后一个数字。但是,只需乘以并确保使用的是正确的循环类型,就可以做到这一点 你几乎可以从这个答案中得到答案
我打算建议一种扩展方法,用于检查最后一个数字。但是,只需乘以并确保使用的是正确的循环类型,就可以做到这一点 你几乎可以从这个答案中得到答案 简单的答案是:
public decimal Round(decimal value)
{
return Math.Round(value * 20) / 20;
}
简单的答案是:
public decimal Round(decimal value)
{
return Math.Round(value * 20) / 20;
}
乘以2,四舍五入,然后除以2能解决你的问题吗?@C.Evenhuis,谢谢,伙计。对不起,我的数学不好,可以乘以2,四舍五入,然后除以2来解决你的问题吗?@C.Evenhuis,谢谢,伙计。对不起,我不擅长数学谢谢你提供的链接,简单而完美!感谢您提供的链接,简单而完美!谢谢Nicolas,我已经尝试了你的代码,非常完美。如果你使用此代码,请将其标记为答案。谢谢Nicolas,我已经尝试了你的代码,非常完美。如果你使用此代码,请将其标记为答案。