这个问题已经有了答案:
Add leading zeroes to number in Java? [duplicate]
5个答案
我从用户那里得到一个输入。我想按以下格式打印:
0#.##
或
##.##
我如何在Java中做到这一点?
今天我用的是:
padWithZeroRightToPeriod(product.formats[index],Float.parseFloat(currentPrice));
和
private String padWithZeroRightToPeriod(String serverFormat, float unformattedNumber) {
int nDigits = getNumberOfDigitsAfterPeriod(serverFormat);
String floatingFormat = "%4." + nDigits + "f";
String formattedPrice = String.format(floatingFormat, unformattedNumber);
return formattedPrice
}
但它将
08.56
转换为8.56
。 最佳答案
对于两个小数位和至少两个整数,带前导零:
String floatingFormat = "%05.2f";
0
用零代替空格填充字符串。5
是字段的最小总宽度,包括整数、小数和小数点部分。2
是要打印的小数位数。