1

我想要具有 3 个有效数字的转换字符串值。

我正在使用这段代码:

String s = "0,92";
float f = Float.parseFloat(s);
DecimalFormat formatter = new DecimalFormat("#,###");
String end = formatter.format(f);

结果是 end= 0.000。但我想得到 end = 0,920。我怎样才能做到这一点?

4

2 回答 2

0

这对我有用:

String s = "0.92";
float f = Float.parseFloat(s);
DecimalFormat formatter = new DecimalFormat("0.000");
String end = formatter.format(f);
System.out.println(end); 

请注意“。” 在 String s 和 DecimalFormat 中的模式。
',' 这里表示 1000 标记,即。1,000,000.00 一百万。

于 2015-01-08T08:49:24.767 回答
0

如果在您当前的语言环境中,小数点分隔符是一个点,那么您将得到 0.920。如果您想获得独立于当前语言环境的结果,将逗号作为小数分隔符,将点作为千位分隔符,您可以像这样实现它

String s = "0.92";
float f = Float.parseFloat(s);
DecimalFormat formatter = new DecimalFormat("0.000", DecimalFormatSymbols.getInstance(Locale.GERMANY));
String end = formatter.format(f);
System.out.println("end = " + end);

这打印

 end = 0,920
于 2015-01-08T08:50:09.977 回答