【发布时间】:2018-10-13 14:56:38
【问题描述】:
如果我想编写从 float 转换为 double 的方法。
在任何情况下两者会返回不同的结果吗?
如果我不关心平台一致性,我应该使用哪个版本?
如果我需要它在不同平台上表现一致怎么办?
double f2d(float x) {
return (double) x;
}
或:
strictfp double f2d(float x) {
return (double) x;
}
JLS 5.1.2:
从 float 到 double 的扩展原始转换不是 strictfp 可能会丢失有关转换值整体大小的信息。
为什么此转换会丢失信息?
【问题讨论】:
-
您打算使用 AS/400 还是大型机?
-
您很可能不需要此功能。你能举个例子说明它是如何使用的吗?
标签: java floating-point strictfp