我想使用數(shù)字格式在數(shù)字為正數(shù)或負(fù)數(shù)時(shí)添加不同的文本前任 :-3.5 =>(向下)3.5+3.5 =>(向上)3.5我在 DecimalFormatSymbols 中找到了一些東西,但只能更改減號并且只能更改單個(gè)字符還有其他使用數(shù)字格式化程序的簡單方法嗎?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);
2 回答

慕碼人8056858
TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以在格式字符串中執(zhí)行此操作DecimalFormat
:
(up)?#,##0.###;(down)?#,##0.###
鏈接的文檔包含格式字符串的完整語法定義,它開始于:
Pattern: ?????????PositivePattern ?????????PositivePattern?;?NegativePattern
這表示由分號 ( ) 分隔的可選第二格式字符串;
將用于負(fù)值。
進(jìn)一步閱讀:
PositivePattern: ????????Prefix_opt?Number?Suffix_opt NegativePattern: ????????Prefix_opt?Number?Suffix_opt Prefix: ????????any?Unicode?characters?except?\uFFFE,?\uFFFF,?and?special?characters Suffix: ????????any?Unicode?characters?except?\uFFFE,?\uFFFF,?and?special?characters
每個(gè)模式(正負(fù))都包含一個(gè)數(shù)字格式字符串 (?Number
),帶有可選的前綴和后綴字符串。這些附加部分可以是您喜歡的任何字符串(包括(up)
和(down)
)。

一只萌萌小番薯
TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
設(shè)置 的正前綴和負(fù)前綴DecimalFormat
:
DecimalFormat?formatter?=?new?DecimalFormat(); formatter.setPositivePrefix("(up)?"); formatter.setNegativePrefix("(down)?"); System.out.println(formatter.format(-3.5)); System.out.println(formatter.format(3.5));
輸出:
(down)?3.5 (up)?3.5
添加回答
舉報(bào)
0/150
提交
取消