Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将空格分隔符设置为浮点十进制格式?_Java_Android_Decimal - Fatal编程技术网

Java 如何将空格分隔符设置为浮点十进制格式?

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

如何在float中将空间设置为十进制格式的千位分隔符?我想把13,52表示为13,5,但13,00表示为13,我用

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);