【问题标题】:How to round up properly 4 and more decimal places into 2 in C#如何在 C# 中将 4 位或更多小数位正确四舍五入为 2
【发布时间】:2016-03-10 11:46:18
【问题描述】:

我需要

Math.Round(42.5447, 2, MidpointRounding.AwayFromZero)

产生42.55,但不像它那样产生42.54

如何做到这一点?

【问题讨论】:

  • 没有适当的舍入。它取决于文化。使用符合您的四舍五入要求的 CultureInfo。
  • 肯定有适当的舍入。但是有不同的舍入方法 - 这些方法定义明确,但不依赖于文化。
  • 哇。看来(对我来说)这种四舍五入适用于银行系统。数学方法会给我和圆形方法给我的一样 - 42.54。我的小姐。
  • 您确定要使用双打吗?如果您正在对十进制数量进行操作,那么您应该使用十进制。
  • C# Math.Round Up的可能重复

标签: c# math rounding


【解决方案1】:

改用Ceiling,用一些乘法/除法技巧:

Math.Ceiling((42.5447 * 100))/ 100

【讨论】:

    猜你喜欢
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 2018-10-01
    • 2022-01-06
    • 2021-12-25
    • 1970-01-01
    相关资源
    最近更新 更多