回 帖 发 新 帖 刷新版面

主题:求助!!!!(基本变量问题!!)

double i = 4.35;
double j = i * 100;
System.out.println(j);
结果为什么是434.9999996啊。。。。
在C语言中这样的输出结果肯定是435啊。。。
谁能帮小弟解惑啊。。。。 难道C和JAVA的数据存储机制不一样??
不是说JAVA的基本类型都是从C拿过来的吗??

回复列表 (共4个回复)

沙发

呵呵,可以试试用float i=4.35f;
float j=(i*100)f;
System.out.println(j);

板凳


[em2]

3 楼


[em2]
哈哈。终于知道问题所在了。
谢了,

4 楼

[quote]呵呵,可以试试用float i=4.35f;
float j=(i*100)f;
System.out.println(j);[/quote]
能解释下原因吗?
float i=4.35f;
float j=i*100;
System.out.println(j);
这样好像也行哦!
float i=4.35f;
double j=i*100;
System.out.println(j);
这样好像也行哦!

我来回复

您尚未登录,请登录后再回复。点此登录或注册