Java数字格式如何更改+;/-签名到自定义文本

Java数字格式如何更改+;/-签名到自定义文本,java,numberformatter,Java,Numberformatter,当数字为正数或负数时,我想使用数字格式来添加不同的文本 例: -3.5=>(向下)3.5 +3.5=>(上升)3.5 我发现了十进制符号,但它只能改变减号,而且只能改变一个字符 使用数字格式化程序还有其他简单的方法吗 DecimalFormatSymbols unusualSymbols = new DecimalFormatSymbols(currentLocale); unusualSymbols.setDecimalSeparator('|'); unusualSymbols.setGro

当数字为正数或负数时,我想使用数字格式来添加不同的文本

例:

-3.5=>(向下)3.5

+3.5=>(上升)3.5

我发现了十进制符号,但它只能改变减号,而且只能改变一个字符

使用数字格式化程序还有其他简单的方法吗

DecimalFormatSymbols unusualSymbols = new DecimalFormatSymbols(currentLocale);
unusualSymbols.setDecimalSeparator('|');
unusualSymbols.setGroupingSeparator('^');
unusualSymbols.setMinusSign();
String strange = "#,##0.###";
DecimalFormat weirdFormatter =
        new DecimalFormat(strange, unusualSymbols);
weirdFormatter.setGroupingSize(4);

String bizarre = weirdFormatter.format(12345.678);
System.out.println(bizarre);

设置的正前缀和负前缀:

输出:

(down) 3.5
(up) 3.5

您可以在以下格式字符串中执行此操作:

(向上)#,###0.###;(向下)0###
链接的文档包含格式字符串的完整语法定义,该格式字符串开始于:

模式:
正模式
阳性模式;否定模式
这表示可选的第二格式字符串(由分号(
)分隔)将用于负值

进一步阅读:

PositivePattern:
前缀_opt数字后缀_opt
否定模式:
前缀_opt数字后缀_opt
前缀:
除\uFFFE、\uFFFF和特殊字符以外的任何Unicode字符
后缀:
除\uFFFE、\uFFFF和特殊字符以外的任何Unicode字符

每个模式(正数和负数)由一个数字格式字符串(
number
)和一个可选的前缀和后缀字符串组成。这些附加部分可以是您喜欢的任何字符串(包括
(向上)
(向下)
)。

我不确定我是否理解这个问题。“添加文本”是什么意思?简单地使用
(up)#、#0.#如何;(向下)#、##0.###
作为格式字符串?(from)@MTCoster你应该写下来作为答案。
(down) 3.5
(up) 3.5