这有点是这个问题的扩展:Formatting JTextField to accept three digits at most, but anything up to 1-3 digits can be typed
以下代码允许我输入1-3位数字(即1,10,100):
NumberFormat amountFormat = NumberFormat.getNumberInstance();
amountFormat.setMinimumIntegerDigits(1);
amountFormat.setMaximumIntegerDigits(3);
amountFormat.setMaximumFractionDigits(0);
amountField = new JFormattedTextField(amountFormat);
如果输入1或2位数,我想要添加前导零(即1或01 => 001,10 => 010)。
也许我可以以某种方式使用字符串格式化程序?
String.format("%03d", num)
答案 0 :(得分:0)
您可以使用正则表达式,例如:
if (someString.matches("^\\d{1,2}$")) {
String appendZero = "0"+someString
}
如果someString恰好包含两位数,则if返回true。
答案 1 :(得分:0)
我认为我没有正确地提出这个问题,但我当前问题的(最简单)答案是在显示给定输入时使用字符串格式(如原始帖子中所示)。