2017-05-09 54 views
-3

我有一些小数的问题,用户应该把一个十进制数例如。 (1.97683),然后选择他想要收回多少小数,所以在这种情况下,如果他选择了3,他会得到数字(1.977)。选择多少小数

我只是不能得到这个工作。

在此先感谢

+1

到目前为止,您尝试了什么? –

+0

Math.Round(nr,3)只适用于第三种,重点是让用户输入他/她想要的小数位数 –

+1

在变量中捕获您的小数精度并将其传递给Math.Round - Math .Round(n,p); – Gururaj

回答

-2

尝试此截断:

value = Math.Truncate(100 * value)/100; 

或者使用Math.Round到数四舍五入至小数点后选择号码:

value = Math.Round(value, digits); 
+0

这会做什么? –

+0

截断他要求的2位数字时,他可以用所选小数位数的10倍替换100。我编辑了舍入号码。 –

1

我使用ToString重载来圆显示一个值。你的情况应该是

var result = value.ToString("0.###")

其更好的使用这种方式,而不是Math.Round,因为有时它可能会给你带来不好的结果。