我在Java中将short
值转换为double
时遇到问题。我有实数表示为16位无符号值(java中为short
)。当我阅读它们时,我想将它们转换为double
,但在执行(double) value
之后,我得到了错误的结果,例如在一种情况下使用System.out.println(value)
我得到{{} 1}},但结果应为0.0
。
0.00034
答案 0 :(得分:3)
我假设您在将短号码转换为double
之前将其分开。不要做
short s = 123;
double d = (double) (s / 100);
代替
short s = 123;
double d = (double) (s / 100.0);
避免整数分割。
答案 1 :(得分:2)
试试这个:
Short sObj = new Short("10");
double d = sObj.doubleValue();
这应该没问题。