小编Len*_*via的帖子

为什么在此代码中不遵循模式字符串?

当执行以下代码时:

DecimalFormat eNotation1 = new DecimalFormat("#0.###E0");   
System.out.println(eNotation1.format(123.456789)); 
Run Code Online (Sandbox Code Playgroud)

我的预期输出是;

1.235E2

代替,

1.2346E2

被印刷了。

为什么输出1.2346E2

我知道我可以使用一种方法,例如setMaximumFractionDigits()是否只想设置小数点后的最大位数,但是我只是想了解为什么输出是1.2346E2

java scientific-notation decimalformat

15
推荐指数
1
解决办法
1450
查看次数

已弃用的 new Double(double) 的替代方案

我正在关注 Walter Savitch 写的一本名为 Absolute Java 的书。其中的示例程序包含以下几行:

Double[] d = new Double[10];
for (int i = 0; i < d.length; i++)
    d[i] = new Double(d.length - i);
Run Code Online (Sandbox Code Playgroud)

我收到以下警告消息:

警告:[弃用] Double 中的 Double(double) 已弃用

我相信警告消息告诉我替换构造函数的使用,因为它已经被弃用,那么我应该用什么替换它?

java wrapper deprecated

9
推荐指数
1
解决办法
2万
查看次数