我有一个这样的号码:
1234567890123
并且想要像这样格式化它
12 34567 89012 3
或者也许像这样
1-234 567-890 1 23
我怎样才能实现这一目标?我试过这个
DecimalFormat decimalFormat = new DecimalFormat("00 00000 00000 0");
System.out.println(decimalFormat.format(1234567890123L));
但这行不通。
我需要一种方法来指定可以包含任何分隔符的模式。
最佳答案
import java.text.ParseException;
import javax.swing.text.MaskFormatter;
import org.junit.jupiter.api.Test;
public class FormatTest {
@Test
void testNumberFormat() throws ParseException {
final String format = "#-### ###-### # ##";
final String number = "1234567890123";
MaskFormatter maskFormatter = new MaskFormatter(format);
maskFormatter.setValueContainsLiteralCharacters(false);
System.out.println(maskFormatter.valueToString(number));
}
}
关于Java 格式带空格的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69676331/