我可以知道如何将一个字符串转义为十进制格式?
// currencySymbolPrefix can be any string. NumberFormat numberFormat = new DecimalFormat(currencySymbolPrefix + "#,##0.00");
如何避免currencySymbolPrefix,以便它可能包含任何包含’#’的字符,并且不会被解释为该模式之一.
请不要建议
NumberFormat numberFormat = new DecimalFormat("#,##0.00"); final String output = currencySymbolPrefix + numberFormat.format(number);
因为我的供应商的方法只接受单个NumberFormat.
解决方法
您可以使用撇号来引用:
String pattern = "'" + currencySymbolPrefix + "'#,##0.00"; NumberFormat numberFormat = new DecimalFormat(pattern);
如果currencySymbolPrefix本身可能包含撇号,那么您需要通过将它们加倍来逃脱:
String pattern = "'" + currencySymbolPrefix.replace("'","''") + "'#,##0.00";