c# 为什么从sql server中提取float型,提取9.99结果却是9.9900000000000002

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:08:43
为什么从sql server中提取float型,提取9.99显示到datagridview中结果却是9.9900000000000002,为什么啊?怎么解决呢?
数据库用的是别的的表,定义的float型,因为表再用所以不可能去改数据库的结构,怎么能在从数据库提取数的时候设定呢?

我也尝试提取float型,但是显示出来的数据是正常的啊。如果实在不行就你换成double行或者Decimal型

还真有可能是前台看到的是9.99而数据库存的是9.9900000000000002我在sql server 2000数据库用企业管理器展开表右键-打开表就看到过这样的问题,你可以到数据库看看是不是也是这样
是在数据库建表的时候定义好的float(10,2)
建议你看看表结构先,想看到9.99需要定义表的时候定义小数位是2才行的
select round(field,2) as fieldname from table

可以在显示的时候设置字符串格式,
如果只显示两位小数,设成 {0:f2}