在C#中舍入十进制值

时间:2009-04-23 06:56:35

标签: c# decimal numbers rounding

如何舍入小数值?
示例:

十进制值=“19500.98”

我需要将此值显示到文本框,并使用“19501”

四舍五入

如果十进制值=“19500.43”

然后

value =“19500”

6 个答案:

答案 0 :(得分:22)

查看Math.Round(decimal)the overload which takes a MidpointRounding argument

当然,您需要解析并格式化值以使其从/到文本。如果这是用户输入的输入,您应该使用decimal.TryParse,使用返回值来确定输入是否有效。

string text = "19500.55";
decimal value;
if (decimal.TryParse(text, out value))
{
    value = Math.Round(value);
    text = value.ToString();
    // Do something with the new text value
}
else
{
    // Tell the user their input is invalid
}

答案 1 :(得分:5)

Math.Round(value,0)

答案 2 :(得分:1)

试试这个......

 var someValue=123123.234324243m;
 var strValue=someValue.ToString("#");

答案 3 :(得分:0)

d = decimal.Round(d);

答案 4 :(得分:0)

complete

如果有帮助,请回复

答案 5 :(得分:0)

string text = "19500.55";
text =(decimal.TryParse(text, out value))? (Math.Round(decimal.Parse(text))).ToString():"Invalid input";