Java 格式化我的字符串
我需要写货币值,比如35.40美元(35美元40美分) 然后,我想写一些Java 格式化我的字符串,java,string-formatting,Java,String Formatting,我需要写货币值,比如35.40美元(35美元40美分) 然后,我想写一些“****” 因此,最终将是: 35美元40美分********* 最多100个字符 我问了一个很可能的问题,但我不明白主要的命令 String format = String.format("%%-%ds", 100); String valorPorExtenso = String.format(format, new Extenso(tituloTO.getValor()).toString()); 我需要更改什么格
“****”
因此,最终将是:
35美元40美分*********
最多100个字符
我问了一个很可能的问题,但我不明白主要的命令
String format = String.format("%%-%ds", 100);
String valorPorExtenso = String.format(format, new Extenso(tituloTO.getValor()).toString());
我需要更改什么格式才能在句子末尾添加***
?
现在的方式是放置空格。我会:
String line = "thirty five dollars and forty cents";
StringBuilder lineBuffer = new StringBuilder(line);
for(int i=0; i < 100 - line.length(); i++){
lineBuffer.append("*");
}
line = lineBuffer.toString();
String line=“三十五美元四十美分”;
StringBuilder lineBuffer=新的StringBuilder(线);
对于(int i=0;i<100-line.length();i++){
lineBuffer.append(“*”);
}
line=lineBuffer.toString();
您不能使用String.format(),但是在apache的StringUtils中有一些UTIL可以实现这一点。或者只需编写一个小方法,在指定的长度上附加*即可。您可能需要查看commons lang
我的印象是,你想把这个增加到100个字符
另一个选项是创建100个“*”字符的基本字符串
创建字符串生成器并执行以下操作:
StringBuilder sb= new StringBuilder(new Extenso(tituloTO.getValor()).toString());
sb.append(STARS_STR);
String val= sb.substring(0, 100);
这应该会得到格式化后的值。简而言之,除了使用String.format填充空格外,不能填充任何内容。您可以自己使用或编写一段代码,这里有一个答案此格式将为您提供包括字符串在内的100个字符
String.format("%-100s", "thirty five dollars and forty cents.").replaceAll(" ", "**");
更新:
String.format("%-100s", "thirty five dollars and forty cents.").replaceAll(" ", "**").replace("* ", "**");
这是更具体的“小心”副本,如果字符串末尾的空格数不均匀,则无法正常工作。生成的字符串长度为100,但如果空格数不均匀,最后一个字符将是space@morja而红实验室-我认为普林格辛恩并不热衷于得到精确的100个字符。但是如果你想要它,请检查并评论更新。