我有一个DB表,其中一列是REAL类型。我需要在.NET环境中比较此列的值,但转换为REAL会使数字变得混乱。
例如,在数据库中保存 15.02 实际上会保存值 15.020000457763672 。 稍后从DB读取并尝试将15.02与从DB获得的值进行比较将产生意外结果。
由于向后兼容性,我坚持使用REAL数据类型,有没有办法在.NET代码中获取变量的“真实”值而不必逐位构造浮点数?
使用上面的例子,我怎样才能转换15.02 => 15.020000457763672在.NET代码中?
答案 0 :(得分:0)
create the type as float and then convert it to double. float f = 15.02f; double d = Convert.ToDouble(f); f.ToString("r") = > "15.020000457763672"