2014-02-18 70 views
0

我需要使用加号将输入的数字字符串与掩码正确对齐。Java中的右对齐字符串NumberFormat

例如:

String input = "893"; 
    String mask = "&&&&&&"; 

应该返回

String output = "+++893"; 

我对我以前没有使用过他们如何使用的NumberFormat实施这一点,或DecimalFormat的很迷茫。任何帮助,将不胜感激。

+2

哪种语言? – CodeMonkey

+0

我正在使用Java。 – user1378762

+1

如果掩码比输入短,该怎么办?你截断还是忽略? – CodeMonkey

回答

1

如果你需要使用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个位置,您仍然需要检查输出是否太长。

0

你可以试试这个:如果掩码的长度大于输入的长度,请取出差异并在输入的前面添加许多加号。

+0

虽然我不明白那个面具的意思。你可以简单地有一个理想的长度 – CodeMonkey

+0

是的,这是我的第一个想法,但我只是想问是否有一个更优雅的方式使用NumberFormat。 – user1378762

+0

面具也将成为输入的一部分。 – user1378762