社区
Java SE
帖子详情
两个double型变量相乘和相除的问题
ratzip
2011-02-19 10:58:18
为什么当两个double型的变量相除的时候,小数点后的位数不会很多,比如 x和y 是double型的两个变量, x=3.0,y=5.0
x/y = 0.6, 但是当两个double型变量相乘的时候,结果会有很多位,比如 1.1 * (x/y) = 1.66000000000##,这是为什么啊?
哪位大哥能帮我解释一下?
...全文
1116
10
打赏
收藏
两个double型变量相乘和相除的问题
为什么当两个double型的变量相除的时候,小数点后的位数不会很多,比如 x和y 是double型的两个变量, x=3.0,y=5.0 x/y = 0.6, 但是当两个double型变量相乘的时候,结果会有很多位,比如 1.1 * (x/y) = 1.66000000000##,这是为什么啊? 哪位大哥能帮我解释一下?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lliiqiang
2011-02-20
打赏
举报
回复
和精度有关
龙四
2011-02-19
打赏
举报
回复
自己用二进制算一下就明白了
magong
2011-02-19
打赏
举报
回复
和乘除没关系吧
huhk
2011-02-19
打赏
举报
回复
有些值在二进制里是不能精确表示的,
就好像在三进制里可以简单的表示1/3,但在十进制是不能精确表示的道理一样。
火龙果被占用了
2011-02-19
打赏
举报
回复
因为只有 64 位的 double 无法表示值域内所有的数!
husband8375
2011-02-19
打赏
举报
回复
用BIGDOUBLE来实现吧。。。。里面可以实现指定的精度的。。。。
ratzip
2011-02-19
打赏
举报
回复
这个敲错了!
[Quote=引用 6 楼 huyong479072052 的回复:]
输出时
0.6
0.66
楼主确定你输出的是
1.66000000000?
[/Quote]
huyong479072052
2011-02-19
打赏
举报
回复
输出时
0.6
0.66
楼主确定你输出的是
1.66000000000?
hardsonxu
2011-02-19
打赏
举报
回复
float和double只能用来做科学计算或者是工程计算,精确计算要用BigDecimal。
参见《effective java》,里面说得很详细
zqfddqr
2011-02-19
打赏
举报
回复
1.1 * (x/y) 我怎么等于了0.66
java bigdecimal
相乘
_Java中 一个 BigDecimal 和一个 int类
型
的 如何
相乘
拜托各位了 3Q...
博客介绍了Java中BigDecimal类
型
的运算。因
double
只能处理16位有效数,Java提供BigDecimal类对超16位有效位的数精确运算。文中列出其主要构造器和方法,强调用BigDecimal(String)构造器创建对象,且需调用对应方法进行运算,并给出
相乘
示例。
设计一个表示分数的类Fraction。这个类用
两个
int类
型
的
变量
分别表示分子和分母。
该博客介绍了一个Java实现的分数类Fraction,该类包含构造方法、将分数转换为
double
的方法、加法和乘法操作以及toString方法。通过示例输入输出展示了如何创建分数对象、进行加法和乘法运算,并输出结果。博客还提供了类Fraction的完整代码实现,包括辗转
相除
法求最大公约数来简化分数。
bigdecimal和
double
的那点儿事
本文介绍了BigDecimal与
double
在Java中的相互转换,包括BigDecimal的
double
Value()和valueOf()方法。讨论了BigDecimal的加减乘除计算,指出每次修改BigDecimal对象需要创建新对象以确保正确性。同时,文章提到了BigDecimal的效率
问题
,例如在累加1000000次的情况下,
double
的速度是BigDecimal的约10倍。总结中建议,涉及精度要求高的计算和金融领域应使用BigDecimal,而对速度有要求且精度损失可接受的情况可选择
double
。
浮点
型
变量
C++基础教程 浮点
型
变量
该博客介绍了C++中浮点
型
变量
的相关知识。包括float和
double
类
型
的定义、使用方法,如赋值、输入输出等。还阐述了浮点
型
对整
型
赋值的规则,以及浮点
型
数据的注意事项,如不能取余、运算规则、精度
问题
等,并给出了相关示例和练习题。
java中int,float,
double
的运算
问题
,BigDecimal加减乘除计算
本文探讨了Java中int、float、
double
运算存在的
问题
,并重点介绍了BigDecimal类用于精确计算的特点。详细讲解了BigDecimal的用法,包括构造器、常用方法如加减乘除,并提到了舍入模式和比较方法。还给出了格式化输出的例子,强调在商业计算中使用BigDecimal的重要性。
Java SE
62,622
社区成员
307,255
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章