Java 如何将空格分隔符设置为浮点十进制格式?
如何在float中将空间设置为十进制格式的千位分隔符?我想把13,52表示为13,5,但13,00表示为13,我用Java 如何将空格分隔符设置为浮点十进制格式?,java,android,decimal,Java,Android,Decimal,如何在float中将空间设置为十进制格式的千位分隔符?我想把13,52表示为13,5,但13,00表示为13,我用 new DecimalFormat("#.#").format(fIncome) 但我想1400,5等于1400,5,1400等于1400 对于double,我使用以下代码(我不想在dCount中显示逗号后的数字): 但如何将其用于逗号后有1个数字的浮点数?好的,我得到了我想要的:) 被接受的答案可能缺少几行代码,因为它没有按照所描述的那样工作。我是这样做的: private s
new DecimalFormat("#.#").format(fIncome)
但我想1400,5等于1400,5,1400等于1400
对于double,我使用以下代码(我不想在dCount中显示逗号后的数字):
但如何将其用于逗号后有1个数字的浮点数?好的,我得到了我想要的:)
被接受的答案可能缺少几行代码,因为它没有按照所描述的那样工作。我是这样做的:
private static final String DECIMAL_FORMAT = "###,###.#";
private String formatValue(Number value, String formatString) {
DecimalFormatSymbols formatSymbols = new DecimalFormatSymbols(Locale.ENGLISH);
formatSymbols.setDecimalSeparator('.');
formatSymbols.setGroupingSeparator(' ');
DecimalFormat formatter = new DecimalFormat(formatString, formatSymbols);
return formatter.format(value);
}
然后我这样称呼它:
formatValue(value, DECIMAL_FORMAT);
为了解释其工作原理,十进制格式的
替换为小数分隔符,,
替换为groupingSeparator,在本例中为空格
private static final String DECIMAL_FORMAT = "###,###.#";
private String formatValue(Number value, String formatString) {
DecimalFormatSymbols formatSymbols = new DecimalFormatSymbols(Locale.ENGLISH);
formatSymbols.setDecimalSeparator('.');
formatSymbols.setGroupingSeparator(' ');
DecimalFormat formatter = new DecimalFormat(formatString, formatSymbols);
return formatter.format(value);
}
formatValue(value, DECIMAL_FORMAT);