我想知道java中是否存在类似于Java DecimalFormat的字符串格式化程序(“0。#”)
我有以下一组需要用破折号屏蔽的数字,“00-0000-00”,我希望有一个格式化程序可以让我以类似的方式处理DecimalFormat(“ 00-0000-00" )。如果不存在这样的方法,有人可以提供替代解决方案的示例。
我需要在保存到数据库时删除破折号,并在从数据库中检索它们时重新添加它们。
由于
答案 0 :(得分:6)
你看过String.format("%2d-%4d-%2d", int1, int2, int3)
吗?
示例:
int n = 12345678;
String formatted = String.format("%2d-%4d-%2d", n / 1000000, (n / 100) % 10000, n % 100);
int orig = Integer.valueOf(formatted.replace("-", ""));
System.out.println(String.format("formatted=%s, orig=%d", formatted, orig));
// formatted=12-3456-78, orig=12345678
答案 1 :(得分:1)
Java确实有String.format方法。
然后使用replace all进行转换。
答案 2 :(得分:0)
编写自定义方法及其反向。在添加到数据库之前将调用前者,在检索数据库之后调用后者。我相信不应该有太多问题。