短至双倍价值

时间:2012-07-18 09:15:21

标签: java double type-conversion unsigned short

我在Java中将short值转换为double时遇到问题。我有实数表示为16位无符号值(java中为short)。当我阅读它们时,我想将它们转换为double,但在执行(double) value之后,我得到了错误的结果,例如在一种情况下使用System.out.println(value)我得到{{} 1}},但结果应为0.0

0.00034

2 个答案:

答案 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();

这应该没问题。