翻倍.解析精度/舍入问题

本文关键字:舍入 问题 精度 翻倍 | 更新日期: 2023-09-27 18:14:45

我在数据库中有一列数据类型为

小数(24日10)

假设我有一个值像

string d1 = "123.6666666666";

Double.Parse(d1) 

output in dataccolumn : 123.6666666700

我使用Convert.ToDecimal(d1),它给出输出123.6666666666

期望输出:123.7000000000

翻倍.解析精度/舍入问题

您得到的输出是因为双精度和十进制值的精度。你实际上想要的是将数字四舍五入到一个小数,为此你必须使用数学。四舍五入,根据需要使用双数或小数,如下所示:

Math.Round(Double.Parse(d1),1)

或者,如果你需要

Math.Round(Convert.ToDecimal(d1),1)

查看有关Math的更多信息。轮,检查MSDN链接:https://msdn.microsoft.com/pt-br/library/75ks3aby (v = vs.110) . aspx