简单说明一下:oracle里有个数据是 .95
postgre的数据是 0.95
同样的C程序,
把数据取出来放到变量
double data;
里,
然后执行
printf("%.1f",data); // 保留一位小数打印结果从oracle得到的数据,最后得到 1.0
从postgre得到的数据,最后得到 0.9这是为什么呢?
请高人指教。
这个问题实在让人头疼啊。
postgre的数据是 0.95
同样的C程序,
把数据取出来放到变量
double data;
里,
然后执行
printf("%.1f",data); // 保留一位小数打印结果从oracle得到的数据,最后得到 1.0
从postgre得到的数据,最后得到 0.9这是为什么呢?
请高人指教。
这个问题实在让人头疼啊。
psql 里面执行的结果是 0.95
刚才发现如果取精度30位的话
printf("%.30f",data);
oracle是0.950000000000000066613381477509
postgre是0.949999999999999955591079014994
结果的原因应该算是明了了但是,为什么从oracle取出来的和从postgres取出来的不一样呢?用的sql语句很一样,都是:select number into :data from table; 有没有什么解决办法啊?