2 qiulei 21 qiulei_21 于 2015.06.03 14:48 提问

通过程序读取oracle数据时,小数位数总是多一位

我在oracle中写了一个求数据集的sql语句,得到的数据都是保留三位小数,但是通过程序得到的DataTable,所有数据多了一位。这是为什么呀?如:本来在数据库里取出来是0.067,但是从程序里出来后就变成了0.0670,后面会多一位小数位,怎么去掉呢?

4个回答

fengzi_boy
fengzi_boy   2015.06.03 14:59

看看数据库是不定长的数据类型,小数后保留的是4位。

Tiger_Zhao
Tiger_Zhao   Rxr 2015.06.03 15:01

保留三位小数只是运算的精度。存储的精度关键看字段类型,字段类型是4位就算你保留零位小数结果还是4位。
你可以用cast强制转换为3位小数。

lzp_lrp
lzp_lrp   Ds   Rxr 2015.06.04 17:17

我在oracle中写了一个求数据集的sql语句,得到的数据都是保留三位小数,但是通过程序得到的DataTable,所有数据多了一位。这是为什么呀?如:本来在数据库里取出来是0.067,但是从程序里出来后就变成了0.0670,后面会多一位小数位,怎么去掉呢?

答:1.有可能是你数据库里这个字段精度为4位引起的
2.在取数据的地方你前台定义的变量精度为4位

把前台显示数据的地方设置格式掩码或者设置精度为3位即可

datou431
datou431   Rxr 2015.06.18 15:01

把前台显示数据的地方设置格式掩码或者设置精度为3位即可

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!