Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.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/8/visual-studio-code/3.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 如何将数字格式化为字符串,格式为;xxx.xxx.xxx,yy“;在爪哇?_Java_Number Formatting_Decimalformat - Fatal编程技术网

Java 如何将数字格式化为字符串,格式为;xxx.xxx.xxx,yy“;在爪哇?

Java 如何将数字格式化为字符串,格式为;xxx.xxx.xxx,yy“;在爪哇?,java,number-formatting,decimalformat,Java,Number Formatting,Decimalformat,Java中是否有一个类可以将“102203345.32”这样的数字格式化为“102.203.345,32”并返回字符串类型 我想得到一个字符串,其中千位用“.”分隔,小数位用逗号“,”分隔 有人能帮我吗?我找到了一个DecimalFormat类,并尝试对其进行自定义: public class CustomDecimalFormat { static public String customFormat(String pattern, double value ) { Decimal

Java中是否有一个类可以将“102203345.32”这样的数字格式化为“102.203.345,32”并返回字符串类型

我想得到一个字符串,其中千位用“.”分隔,小数位用逗号“,”分隔

有人能帮我吗?我找到了一个DecimalFormat类,并尝试对其进行自定义:

public class CustomDecimalFormat {
static public String customFormat(String pattern, double value ) {
      DecimalFormat myFormatter = new DecimalFormat(pattern);
      String output = myFormatter.format(value);
      return output;
}
}
但是当我像这样调用customFormat方法:CustomDecimalFormat.customFormat(“######,00”)时,我得到一个异常

我该怎么办


谢谢

您可以尝试
德语
数字格式

NumberFormat.getNumberInstance(Locale.GERMAN).format(102203345.32)

您可以尝试
德语
数字格式

NumberFormat.getNumberInstance(Locale.GERMAN).format(102203345.32)
首先,, 你把逗号和小数点放错地方了。您的格式应该是:##########.00而不是######,00

还要检查您的区域设置,它对格式有影响。请参阅下面的链接

首先, 你把逗号和小数点放错地方了。您的格式应该是:##########.00而不是######,00

还要检查您的区域设置,它对格式有影响。请参阅下面的链接


务必阅读并理解的特殊模式字符部分,尤其是本说明:

此处列出的字符用于非本地化模式。本地化模式使用从此格式化程序的
DecimalFormatSymbols
对象中提取的相应字符,这些字符将失去其特殊状态

如果您已经这样做了,那么您应该清楚,您必须使用并提供适当配置的分隔符/分组字符,而在模式本身中,点和逗号具有特殊的含义

实际上,上面所有的复杂性都是为了方便您:它允许您自定义数字格式并将其本地化

下面是一个对我有用的代码示例:

final DecimalFormatSymbols syms = new DecimalFormatSymbols();
syms.setDecimalSeparator(',');
syms.setGroupingSeparator('.');
DecimalFormat myFormatter = new DecimalFormat("###,###.00", syms);
System.out.println(myFormatter.format(1234.12));
您还可以在应用本地化模式的地方使用变体,以获得更直观的代码:

final DecimalFormatSymbols syms = new DecimalFormatSymbols();
syms.setDecimalSeparator(',');
syms.setGroupingSeparator('.');
DecimalFormat myFormatter = new DecimalFormat("", syms);
myFormatter.applyLocalizedPattern("###.###,00");
System.out.println(myFormatter.format(1234.12));

请务必阅读并理解的特殊模式字符部分,尤其是本说明:

此处列出的字符用于非本地化模式。本地化模式使用从此格式化程序的
DecimalFormatSymbols
对象中提取的相应字符,这些字符将失去其特殊状态

如果您已经这样做了,那么您应该清楚,您必须使用并提供适当配置的分隔符/分组字符,而在模式本身中,点和逗号具有特殊的含义

实际上,上面所有的复杂性都是为了方便您:它允许您自定义数字格式并将其本地化

下面是一个对我有用的代码示例:

final DecimalFormatSymbols syms = new DecimalFormatSymbols();
syms.setDecimalSeparator(',');
syms.setGroupingSeparator('.');
DecimalFormat myFormatter = new DecimalFormat("###,###.00", syms);
System.out.println(myFormatter.format(1234.12));
您还可以在应用本地化模式的地方使用变体,以获得更直观的代码:

final DecimalFormatSymbols syms = new DecimalFormatSymbols();
syms.setDecimalSeparator(',');
syms.setGroupingSeparator('.');
DecimalFormat myFormatter = new DecimalFormat("", syms);
myFormatter.applyLocalizedPattern("###.###,00");
System.out.println(myFormatter.format(1234.12));

请添加您获得的异常的stacktrace请添加您获得的异常的stacktrace如果模式定义正确,则无需使用此字符串替换kludge!如果正确定义了模式,就不需要使用这个字符串替换乱码!我工作了,谢谢!是否有办法将小数点四舍五入?例如,如果我将1234.128作为小数点,则将其格式化为“1.234,13”?我已完成,谢谢!是否有办法将小数点四舍五入,例如,如果我将1234.128作为小数点,则将其格式设置为“1.234,13”?阅读可能有助于理解?他们所要求的格式与他们想做的是正确的,这不是答案。阅读可能是为了理解?他们要求的格式与他们想做的是正确的,这不是答案。