++++++++++++在线等候 double形变量的问题。(new) 搂主,你的jdk什么版本?看看我这JDK1.3的输出:-1234567890123.12350 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 double类型的有效位数为15位只与后台数据库有关,与jdk无关吧 感谢各位,应该就是bobbysun(海豚) 说的原因吧后台数据库是oracle8i看来要用BigDecimal取数据。 但是刚刚又看了一下java中对double的定义是-2的31次方-1到2的31次方我算了一下是-9223372036854775807到9223372036854775807,有19位有效位数为15位从何说起弟子愚笨,请有以教我 另外有个附带的奇怪问题:后台数据库是oracle8i我用access连接数据库,可以做进满位数据-1234567890123.12345用toad连接数据库,却最多只能做出-1234567890123.12,竟然和我程序执行效果一样。为什么? 关注.需要精确数值地话,sun官方说法是建议使用bigDecimal 为什么double类型的有效位数为15位?搞不懂啊! 水户洋平————这个名字我喜欢。double的有效数位是15~16位, 简单给你说说意思吧。比如你用8个bit存储浮点位(float是32 bit,double是64 bit) 每个bit只能存0或1,你说你怎么作?8 bit 一共能存256种可能,所以整型就是-128~127。 换个想法,我们不要精确数字,希望它能表示更大的范围,我们用第一个bit存储正负号,还剩7 bit,再用后3位表示指数次方,中间就只有4 bit表示数了。 4 bit能表示16种可能,加上符号2种、指数8种,我们还是只能表示256种可能!———— 打住! 我们并没有要精确数字,所以我们总可以把某个数转换成 0.xxx*10^x 形式(科学计数法) 假设,我说的是假设,指定0001表示0.1,1001表示0.9,其它的值是期间平均分派值,一共只用了9个数。(真正的浮点数用的是二进制的小数形式)。 指数表示-3~4,8种可能,这样我们能表达的最小正数是0.0001,最大数是9000,最小负数是-9000,最大负数是-0.0001 。于是我们可以表达几乎正负10000以内数了! 但是————只有一位有效数字,表示数的范围大了,但精度降低了(简直是没有精度),这就是计算机表示浮点数的方法了。 我们只用了16种可能中的9种,假使我们用0000表示0.01,用1111表示0.99,其它的在其中平分,我们得到的有效数字介于1位和2位之间,这就是为什么有时候double的精度是15位,而有时候又是16位了。 还有,你会发现double的下限和上限值并不相同,原理和这类似。 :qiaojiannan(JNQ) 你让我完全明白了,谢谢! :qiaojiannan(JNQ) 你让我完全明白了,谢谢! :qiaojiannan(JNQ) 你让我完全明白了,谢谢! 求助:类方法调用问题!! JFrame, JDialog如何去掉(或不可用)最大化按钮(保留最小化和关闭按钮) java io流的问题 txt文件读取 文件读写的问题 关于easy struts配置问题? 请问怎么打开*.jasper文件呢? 在JAVA中如何实现一个读写锁?感兴趣者请入 新手问题!!! 请问如何JLable改变的颜色?用setBackground(color),好象不行。 初学者的问题? 如何得到一个客户机的mac地址,request对象是否有这样的方法 java运行出错!请大家帮忙看看
只与后台数据库有关,与jdk无关吧
后台数据库是oracle8i
看来要用BigDecimal取数据。
java中对double的定义是-2的31次方-1到2的31次方
我算了一下是-9223372036854775807到9223372036854775807,有19位
有效位数为15位从何说起
弟子愚笨,请有以教我
后台数据库是oracle8i
我用access连接数据库,可以做进满位数据-1234567890123.12345
用toad连接数据库,却最多只能做出-1234567890123.12,竟然和我程序执行效果一样。
为什么?
需要精确数值地话,sun官方说法是建议使用bigDecimal
谢谢!
谢谢!
谢谢!