我需要使用加号将输入的数字字符串与掩码正确对齐。Java中的右对齐字符串NumberFormat
例如:
String input = "893";
String mask = "&&&&&&";
应该返回
String output = "+++893";
我对我以前没有使用过他们如何使用的NumberFormat实施这一点,或DecimalFormat的很迷茫。任何帮助,将不胜感激。
我需要使用加号将输入的数字字符串与掩码正确对齐。Java中的右对齐字符串NumberFormat
例如:
String input = "893";
String mask = "&&&&&&";
应该返回
String output = "+++893";
我对我以前没有使用过他们如何使用的NumberFormat实施这一点,或DecimalFormat的很迷茫。任何帮助,将不胜感激。
如果你需要使用DeciamlFormat你可以使用:
int input = 893;
DecimalFormat decFormat = new DecimalFormat("000000"); //as many palces as you need
String output = decFormat.format(input);
然后用+符号替换所有前导零。
String.format("%06d", input); //also gives you leading zeros
如果您总是需要6个位置,您仍然需要检查输出是否太长。
你可以试试这个:如果掩码的长度大于输入的长度,请取出差异并在输入的前面添加许多加号。
虽然我不明白那个面具的意思。你可以简单地有一个理想的长度 – CodeMonkey
是的,这是我的第一个想法,但我只是想问是否有一个更优雅的方式使用NumberFormat。 – user1378762
面具也将成为输入的一部分。 – user1378762
哪种语言? – CodeMonkey
我正在使用Java。 – user1378762
如果掩码比输入短,该怎么办?你截断还是忽略? – CodeMonkey