【发布时间】:2010-11-03 18:39:03
【问题描述】:
float ff = 1.2f;Float fo = new Float(1.2f);-
double fg = 3.2d; -
Double fh = new Double(2.1d);
我可以在 (1) 和 (3) 之间或 (2) 和 (4) 之间使用“=”吗?
【问题讨论】:
-
如果我添加这两个语句==> 3) double fg = 3.2d; 4)双fh =新双(2.1d);我可以在 ((1) 和 (3)) 之间或 ((2) 和 (4)) 之间使用 '=' 吗?
-
@Neda,如果您尝试“ff = fg”,您将看到“可能丢失精度”消息,如果您尝试“fo = fh”,您将看到“不兼容的类型”。
-
@Neda,“fg = ff”也可以正常工作(浮点数适合双精度),但“fh = fo”仍然会给你一个“不兼容的类型”。
-
亲爱的 Bob,你介意解释一下这个“fh=fo”吗,因为 fo 是 Float 而 fh 是 Double!!!!我可以在 (2) 和 (4) 中使用 '==' 吗???
-
@Neda,“Double”和“Float”是非常不同的东西。他们使用与“double”和“float”相同的英文单词这一事实无关紧要。你可以做的是说 Double fh = fo.doubleValue() 并得到一个与浮点值非常相似的 Double。
标签: java types floating-point primitive