当创建一个属性以对应于NUMBER(6,3)类型的Oracle列时,在决定使用哪种数据类型来创建相应的属性(Double,a Float或......)之前,我应该考虑哪些因素? ?)
IOW,使用此Oracle列定义:
PercentageOfCodersWhoCobbleCobol NUMBER (6, 3)
...我目前有一个相应的属性:
private Double percentageOfCodersWhoCobbleCobol;
public double PercentageOfCodersWhoCobbleCobol
{
get
{
return this.percentageOfCodersWhoCobbleCobol;
}
set
{
this.percentageOfCodersWhoCobbleCobol = value;
NotifyPropertyChanged("PercentageOfCodersWhoCobbleCobol");
}
}
...但该属性应该是浮动的还是别的?
答案 0 :(得分:1)
您只需存储6位数字,因此float
就足够了。 The type float
has a precision of 7 digits.
但是,如果您想对这些数字进行一些算术(乘法,除法),并将结果写回数据库,那么您应该考虑使用double
。此外,如果这些值存储人类输入的数字(例如金额),则可能需要decimal
。
答案 1 :(得分:1)
您也可以使用此堆栈溢出link作为参考。对于你的问题,我认为它应该映射到double not float。