我在数据库中有一个数据类型为
的列十进制(24,10)
假设我有像
这样的价值string d1 =" 123.6666666666&#34 ;;
Double.Parse(d1)
数据列中的输出:123.6666666700
我使用了Convert.ToDecimal(d1)
,输出 123.6666666666 。
预期产量:123.7000000000
答案 0 :(得分:2)
您获得的输出是因为double和decimal值的精度。您实际想要的是将数字四舍五入为1位数,因为您必须使用Math.Round,根据您的需要使用double或decimal,如下所示:
Math.Round(Double.Parse(d1),1)
或者,如果您需要
Math.Round(Convert.ToDecimal(d1),1)
有关Math.Round的更多信息,请查看MSDN链接: https://msdn.microsoft.com/pt-br/library/75ks3aby(v=vs.110).aspx