1

我有一个像这样声明的字段 NumberValue1

public double NumberValue1 { get; set; }

NumberValue1 在 oracle 数据库中的数据类型为 Number

我从 22.55 的 excel 文件中读取了一个值

[[col8Value is an object type]]

然后我做了这个。

NumberValue1 = col8Value == null ? 0 : Math.Round(Convert.ToDouble(col8Value),2)

当我将它插入数据库时​​,我得到了下面存储的数字

22.550000000000001

为什么它会带来另一个...... 00001。

我只想让它显示 22.55,这是我加载的初始数字

谢谢。

4

2 回答 2

0

尝试使用

private int NumberStoreHundreths
public double NumberValue1 
{ 
     get
          {
             return ((double)NumberStoreHundreths)/100;
          } 
     set
          {
             NumberStoreHundreths = (int)(value*100);
          }
}

有点老派,但应该工作

于 2013-07-16T01:51:38.360 回答
0

您不需要更改 db 列类型,只需在应用程序中使用不同的数据类型(提示 - 使用小数)。(Koka Chernov 的回答)

这解决了我在 2015 年的问题。

于 2015-02-20T17:35:41.483 回答