在 double 前面加零

use*_*734 3 java double

我有一个双

例如:-2.34

我想在它前面添加9个零,使长度固定为10位。

结果:-0000000002.34

我试过:

String formatted = String.format("%010d", number);
Run Code Online (Sandbox Code Playgroud)

但是我们可以将 double 传递给 String format 函数吗?

做到这一点最有效的方法是什么?

rge*_*man 5

最简单的方法是创建一个DecimalFormat对象,自己提供模式。这些0字符表明应该在此处打印数字,即使通常是不必要的。

DecimalFormat df = new DecimalFormat("0000000000.00");
String formatted = df.format(-2.34);
Run Code Online (Sandbox Code Playgroud)

输出:

-0000000002.34
Run Code Online (Sandbox Code Playgroud)

使用String.format,您可以提供总长度以及使用的任何小数字符。用作14总长度,以计算 10 个“完整”数字、负号、小数点和 2 个小数位。

String.format("%014.2f", test)
Run Code Online (Sandbox Code Playgroud)

输出是:

-0000000002.34
Run Code Online (Sandbox Code Playgroud)