C# 选择小数位数

C# 选择小数位数,c#,decimal,C#,Decimal,我对小数有一些问题,用户应该输入一个小数,例如1.97683,然后选择他想要接受的小数位数,所以在这种情况下,如果他选择3,他将得到1.977 我就是不能让它工作 提前感谢请尝试以下截断: value = Math.Truncate(100 * value) / 100; 或者使用数学。舍入将数字舍入到选定的小数位数: value = Math.Round(value, digits); 我使用ToString重载取整并显示一个值。你的情况应该是这样的 var结果=value.ToStrin

我对小数有一些问题,用户应该输入一个小数,例如1.97683,然后选择他想要接受的小数位数,所以在这种情况下,如果他选择3,他将得到1.977

我就是不能让它工作


提前感谢

请尝试以下截断:

value = Math.Truncate(100 * value) / 100;
或者使用数学。舍入将数字舍入到选定的小数位数:

value = Math.Round(value, digits);

我使用ToString重载取整并显示一个值。你的情况应该是这样的

var结果=value.ToString0


使用这种方法比使用Math.Round要好得多,因为有时它可能会给你带来糟糕的结果。

Math.Roundnr,3虽然只适用于数字3,但关键是让用户输入他/她想要的小数位数获取变量中的小数精度,并将其传递给Math.Round-Math.Roundn,p;如果你想返回一个字符串,看一下string.Format。这会有什么作用?当他要求截断为2位时,他可以用所选小数的10倍替换100。我编辑了四舍五入的数字。