如何连续传递DecimalFormat两个文字字符?

时间:2019-03-10 18:31:00

标签: java decimalformat

我想将数字1234.5678格式化为($ 1,234.57)

所以我要传递格式字符串'(''$'#,## 0.00')'

但这给了我('$ 1,234.57)

我猜这两个撇号将被更改为文字'和$被吃掉后的'。

那么如何将字符串($放入模式?

1 个答案:

答案 0 :(得分:0)

基本上,($不会将)DecimalFormat视为特殊字符,因为它们在表达式内部没有任何意义。

例如,如果您使用#,那么使用'#'

请参阅Javadoc

  

'用于在前缀或   后缀,例如,“'#'#”的格式为123到“#123”。创建一个   引用自身,连续使用两个:“#o''clock。

以下作品完美

DecimalFormat decimalFormat = new DecimalFormat("($#,##0.00)");
System.out.println(decimalFormat.format(1234.5678)); // ($1,234.57)