下面列出了java.text.DecimalFormat#setGroupingSize ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public static void test2(DecimalFormat df) {
int number = 155566;
//默认整数部分三个一组,
System.out.println(number);//输出格式155,566
//设置每四个一组
df.setGroupingSize(4);
System.out.println(df.format(number));//输出格式为15,5566
DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance();
//设置小数点分隔符
dfs.setDecimalSeparator(';');
//设置分组分隔符
dfs.setGroupingSeparator('a');
df.setDecimalFormatSymbols(dfs);
System.out.println(df.format(number));//15a5566
System.out.println(df.format(11.22));//11;22
//取消分组
df.setGroupingUsed(false);
System.out.println(df.format(number));
}
private static String[] fileSize(long size) {
String s = "";
if (size > 1024) {
s = "KB";
size /= 1024;
if (size > 1024) {
s = "MB";
size /= 1024;
}
}
DecimalFormat df = new DecimalFormat();
df.setGroupingSize(3);
String[] result = new String[3];
result[0] = df.format(size);
result[1] = s;
return result;
}
/**
* Initialise the abstract graphics document, specifically meant to set the formatter.
*
* @param defaultMaxDigits default max digits
*/
public AbstractGraphicsDocument(int defaultMaxDigits) {
Locale locale = new Locale("en", "US");
DecimalFormatSymbols decimalSymbols = new DecimalFormatSymbols(locale);
decimalSymbols.setDecimalSeparator('.');
formatter = new DecimalFormat();
formatter.setDecimalFormatSymbols(decimalSymbols);
// do not group
formatter.setGroupingSize(0);
// do not show decimal SEPARATOR if it is not needed
formatter.setDecimalSeparatorAlwaysShown(false);
formatter.setGroupingUsed(false);
// set default number of fraction digits
formatter.setMaximumFractionDigits(defaultMaxDigits);
// minimum fraction digits to 0 so they get not rendered if not needed
formatter.setMinimumFractionDigits(0);
}
public static Currency fromConfig(ConfigurationSection config) {
DecimalFormat format = new DecimalFormat(config.getString("format", "0.00"));
if (config.getInt("grouping", 0) > 0) {
DecimalFormatSymbols symbols = format.getDecimalFormatSymbols();
if (symbols.getDecimalSeparator() == ',') { // French
symbols.setGroupingSeparator(' ');
} else {
symbols.setGroupingSeparator(',');
}
String groupingSeparator = config.getString("grouping-separator", null);
if (!Strings.isNullOrEmpty(groupingSeparator)) {
symbols.setGroupingSeparator(groupingSeparator.charAt(0));
}
String decimalSeparator = config.getString("decimal-separator", ".");
if (!Strings.isNullOrEmpty(decimalSeparator)) {
symbols.setDecimalSeparator(decimalSeparator.charAt(0));
}
format.setDecimalFormatSymbols(symbols);
format.setGroupingUsed(true);
format.setGroupingSize(3);
}
return new Currency(
config.getString("name.singular", "dollar"),
config.getString("name.plural", "dollars"),
format,
config.getString("balance-format", "{1} {2}")
);
}
protected DecimalFormat format() {
DecimalFormat df = new DecimalFormat();
df.setMaximumFractionDigits(3);
df.setMinimumFractionDigits(3);
DecimalFormatSymbols dfs = df.getDecimalFormatSymbols();
dfs.setDecimalSeparator((new String(".").charAt(0)));
df.setDecimalFormatSymbols(dfs);
df.setGroupingSize(20);
return df;
}
protected cfData defaultExecute( cfSession _session, List<cfData> parameters, DecimalFormatSymbols _dfs )throws cfmRunTimeException{
double val = getFormatValue( _session, parameters.get(0) );
DecimalFormat DF = new DecimalFormat("#,###", _dfs);
DF.setGroupingSize( 3 );
return new cfStringData( DF.format( val ) );
}
public void test_setGroupingSize() {
DecimalFormat df = new DecimalFormat("###0.##", new DecimalFormatSymbols(Locale.ENGLISH));
df.setGroupingUsed(true);
df.setGroupingSize(2);
assertEquals("Value not set", 2, df.getGroupingSize());
String result = df.format(123);
assertTrue("Invalid format:" + result, result.equals("1,23"));
}
private MathUtils() {
super();
format = (DecimalFormat) DecimalFormat.getNumberInstance(Locale.ENGLISH);
format.setMaximumFractionDigits(3);
format.setRoundingMode(RoundingMode.HALF_EVEN);
format.getDecimalFormatSymbols().setDecimalSeparator('.');
format.setDecimalSeparatorAlwaysShown(false);
format.setGroupingSize(0);
doubleRegex = "[-]?[0-9]*\\.?[0-9]+";
}