在双精度浮点数前面添加零

3

我有一个双精度数

例如:-2.34

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

结果:-0000000002.34

我尝试过:

String formatted = String.format("%010d", number);

但是我们能否将double传递给String格式函数?

最有效的方法是什么?

1个回答

5
最简单的方法是创建一个DecimalFormat对象,自己提供模式。其中的0字符表示这里应该打印一个数字,即使通常不需要打印。
DecimalFormat df = new DecimalFormat("0000000000.00");
String formatted = df.format(-2.34);

输出:

-0000000002.34

使用String.format,您可以提供总长度以及使用的任何小数位。将14用作总长度,以考虑10个“整数”数字、负号、小数点和2个小数位。
String.format("%014.2f", test)

输出结果为:
-0000000002.34

这是一个附加问题。我能否在前面加上符号,我的意思是强制符号(+/-)。这个字符串格式有修改吗? - user2694734
1
是的,请包括“+”字符,例如String.format("%+014.2f", -2.34); - rgettman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接