注册
登录
论坛
搜索
私人消息 (0)
公共消息 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
应用通知 (0)
应用邀请 (0)
万卷图书
»
Java语言
» 帮看一下,乘法结果不对啊
返回列表
发帖
发短消息
加为好友
lukou
当前离线
UID
2809
帖子
2
精华
0
积分
0
阅读权限
10
在线时间
0 小时
注册时间
2011-9-9
最后登录
2011-9-9
新手上路
1
#
跳转到
»
倒序看帖
打印
字体大小:
t
T
lukou
发表于 2011-9-9 15:30
|
只看该作者
帮看一下,乘法结果不对啊
分析
,
public
,
double
,
class
public class And {
public static void main(String[] args){
int a = 14;
double b= 3.7;
double c= a*b;
System.out.println(c);
}
}
输出结果是51.800000000000004
a=其他数都没问题,只有=14时出现这种情况
谁能帮分析下是何原因?
收藏
分享
分享到:
QQ空间
腾讯微博
腾讯朋友
发短消息
加为好友
fwbook
当前离线
UID
1
帖子
2324
精华
0
积分
0
阅读权限
200
在线时间
1558 小时
注册时间
2009-7-30
最后登录
2024-5-17
管理员
2
#
fwbook
发表于 2011-9-14 08:54
|
只看该作者
1#
lukou
这个因为计算机对浮点数表示存在不精确的问题。这种例子很少能碰到。这次竟然让你碰到了,真是运气。
这实际和计算机对小数的表示有关。由于计算机使用二进制的方式来存储数据。很多时候,十进制的数据无法用二进制的数字精确表示。这个时候,计算机结果就可能存在一定的偏差。只要这种偏差在允许的范围内,就可以了。
例如你这里的运算,误差度不超过百万份之一。所以是可以接受的。
TOP
返回列表
ArcGIS
光盘下载
C语言
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]