java – 如何转义要传递到DecimalFormat的字符串

前端之家收集整理的这篇文章主要介绍了java – 如何转义要传递到DecimalFormat的字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以知道如何将一个字符串转义为十进制格式?
// 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";

猜你在找的Java相关文章