如何连续向 DecimalFormat 传递两个文字字符?
How do I pass DecimalFormat two literal characters in a row?
我想将数字 1234.5678 的格式设置为 ($1,234.57)
所以我传入格式字符串 '(''$'#,##0.00')'
但这给了我 ('$1,234.57)
我猜这两个撇号正在被更改为文字 ' 和 $ 被吃掉后的 '。
那么如何将字符串 ($) 放入模式中?
基本上,($
和 )
不会被 DecimalFormat
视为特殊字符,因为它们在表达式中没有意义。
例如,如果您使用 #
,那么使用 '#'
就有意义
查看 Javadoc
' Used to quote special characters in a prefix or
suffix, for example, "'#'#" formats 123 to "#123". To create a single
quote itself, use two in a row: "# o''clock".
以下作品完美
DecimalFormat decimalFormat = new DecimalFormat("($#,##0.00)");
System.out.println(decimalFormat.format(1234.5678)); // (,234.57)
我想将数字 1234.5678 的格式设置为 ($1,234.57)
所以我传入格式字符串 '(''$'#,##0.00')'
但这给了我 ('$1,234.57)
我猜这两个撇号正在被更改为文字 ' 和 $ 被吃掉后的 '。
那么如何将字符串 ($) 放入模式中?
基本上,($
和 )
不会被 DecimalFormat
视为特殊字符,因为它们在表达式中没有意义。
例如,如果您使用 #
,那么使用 '#'
查看 Javadoc
' Used to quote special characters in a prefix or suffix, for example, "'#'#" formats 123 to "#123". To create a single quote itself, use two in a row: "# o''clock".
以下作品完美
DecimalFormat decimalFormat = new DecimalFormat("($#,##0.00)");
System.out.println(decimalFormat.format(1234.5678)); // (,234.57)