将小数值四舍五入到最接近的 0.01?

发布于 2024-08-20 18:58:49 字数 785 浏览 6 评论 0原文

可能的重复:
c# - 如何将小数值四舍五入到小数点后两位(用于在页面上输出)

如何将十进制值四舍五入到最接近的 0.05 值?,链接的 SO 帖子也讨论了类似的主题,但它不是输出我预计。

我需要像这样转换十进制值,

16.489-->16.49
16.482-->16.48
16.425-->16.43
7.67 --> 7.67 (no conversion)

我可以使用下面的 C# 方法来转换值,

  Math.Round(16.482*20)/20;

但是这个方法对我不起作用,它给出了以下结果,

16.489-->16.5 
16.482-->16.5 
7.67 --> 7.7
16.425-->16.45 

c# 中执行此操作的优雅方法是什么。

Possible Duplicate:
c# - How do I round a decimal value to 2 decimal places (for output on a page)

How to round decimal value up to nearest 0.05 value??, the linked SO post also discusses the similar topic, but its not the output i expected.

I need to convert the decimal values like this

16.489-->16.49
16.482-->16.48
16.425-->16.43
7.67 --> 7.67 (no conversion)

I can use the below C# method to convert the values

  Math.Round(16.482*20)/20;

But this method not works for me, it gives the following results

16.489-->16.5 
16.482-->16.5 
7.67 --> 7.7
16.425-->16.45 

whats the elegant way in c# to do this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

2024-08-27 18:58:49

数学..::.Round 方法(小数、Int32、中点舍入)

将双精度浮点值舍入为指定的小数位数。参数指定当该值位于两个其他数字之间时如何舍入该值。

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

Math..::.Round Method (Decimal, Int32, MidpointRounding)

Rounds a double-precision floating-point value to the specified number of fractional digits. A parameter specifies how to round the value if it is midway between two other numbers.

   Math.Round(1.489,2,MidpointRounding.AwayFromZero)
和影子一齐双人舞 2024-08-27 18:58:49

你尝试过吗

 Math.Round(16.482*200)/200;

Did you try

 Math.Round(16.482*200)/200;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文