【问题标题】:Round up values of text box in C# [closed]在 C# 中四舍五入文本框的值[关闭]
【发布时间】:2015-11-26 08:10:49
【问题描述】:

我想像这样汇总值...

0.1 将是 0

0.3 将是 0

0.5 将是 1

0.9 将是 1

有什么办法可以在c#中解决吗?

在此先感谢...

【问题讨论】:

  • 你有没有尝试过? Searching google perhaps?
  • 文本框? - 这通常是一个字符串尝试Math.Round(Double.Parse("0.1"))
  • @YuvalItzchakov 不,先生,我没有尝试过任何东西..
  • @Henrik ok sir..sir 但我在这方面真的很新,所以 Double.parse 的作用是什么?
  • @Nik 从字符串到数字.. 字符串是包含字符列表的对象,在这种情况下:"0.1" = '0','.','1','\0'(4 个字符,如果是老式的 c 样式字符数组)或 @987654324 @(1 个长度指示符,如果是 FORTRAN 样式的数组,则为三个字符)这些数据都不可能进行数学运算。 Double.parse 尝试将 char 数组解释为数字。如果字符数组具有格式,则它可以工作,这对应于您在屏幕上写入数字的方式。如果字符串不是数字,则失败

标签: c# math rounding roundup


【解决方案1】:

您正在寻找Math.Round,您可以阅读更多关于Round的信息

如果 number 的小数部分介于两个整数之间,其中一个为偶数,另一个为奇数,则返回偶数。请注意,此方法返回 Decimal 而不是整数类型。

正如@Micky 所建议的,你应该使用MidpointRounding.AwayFromZero

Math.Round(0.5d, MidpointRounding.AwayFromZero));

得到正确的输出

【讨论】:

  • 感谢您的建议
  • 如果这解决了。接受它作为答案。 :)
【解决方案2】:

您应该尝试使用 C# 中可用的 Decimal.Round 方法。欲了解更多信息,请查看以下链接,

https://msdn.microsoft.com/en-us/library/6be1edhb(v=vs.110).aspx

谢谢。

【讨论】:

  • 几乎明白了,但 Math.Round(0.5d) 返回 0 而 OP 想要 1dotnetfiddle.net/jzwQYy
  • 谢谢,我会检查这个链接
  • @Micky 那么有什么解决办法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多