我想知道如果现在没有在java字符串格式类似于Java的DecimalFormat(“0#”)的Java字符串格式化
,我有以下一组数字,需要用破折号被掩盖,“ 00-0000-00“,我希望会有一个格式化程序,使我能够以类似的方式处理DecimalFormat(”00-0000-00“)。如果这种方法不存在,是否有人可以提供一个替代解决方案的例子。
我需要在保存到数据库时去掉破折号,并在从数据库中检索它们时将它们添加回去。
感谢
我想知道如果现在没有在java字符串格式类似于Java的DecimalFormat(“0#”)的Java字符串格式化
,我有以下一组数字,需要用破折号被掩盖,“ 00-0000-00“,我希望会有一个格式化程序,使我能够以类似的方式处理DecimalFormat(”00-0000-00“)。如果这种方法不存在,是否有人可以提供一个替代解决方案的例子。
我需要在保存到数据库时去掉破折号,并在从数据库中检索它们时将它们添加回去。
感谢
你有没有看着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正是我想要发布的内容,但你打败了我。 –
@phatfingers谢谢,我想这可能是我唯一的选择,只是希望java有更简单的东西。 –
爪哇确实有String.format方法。
然后使用replace all转换回来。
编写自定义方法及其相反。前者将在添加到你的数据库和后者调用你的数据库后调用。我相信应该不是太大的问题。
是的,这正是我计划要做的,我只是希望一个简单的格式化程序,但它看起来像String.format是我最简单的选择。 –
你看过Java Formatter对象吗? http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html – trumpetlicks
我能想到的唯一的事情就是模数'%'数字并插入格式化字符串。至于恢复它,'replaceAll(“ - ”,“”)'和'parseInt'是解决方案。 – nhahtdh