从long返回带有两个小数的double



我想设置一个长数字为双位数。问题是我想以十进制格式返回。例如:I have a long number

long a = 123456;

则转换double b = (double) a;b表示1.234**E**5。我想让b和a: 123456.0完全一样。不要让"E"出现在这里我将其强制转换为String,然后再次解析为double。这样的

b = Double.parseDouble(new Long(a).toString()));
谁有更好的主意,请分享给我。谢谢你。

不需要对Double对象强制转换为long或使用toString

使用DescimalFormat:

DecimalFormat f = new DecimalFormat("#.0");
System.out.println(f.format(123456L));

如您所见,123456L是一个长数值,但它的格式是您想要的。

好运。

最新更新