Java 如何在不舍入的情况下写入包含3个有效数字的字符串

Java 如何在不舍入的情况下写入包含3个有效数字的字符串,java,string,digits,significant-digits,Java,String,Digits,Significant Digits,我想转换字符串值与3个有效数字 我正在使用以下代码: String s = "0,92"; float f = Float.parseFloat(s); DecimalFormat formatter = new DecimalFormat("#,###"); String end = formatter.format(f); 结果是end=0.000。但ı想要结束=0920。我该怎么做 这对我很有用: String s = "0.92"; float f = Float.parseFloat

我想转换字符串值与3个有效数字

我正在使用以下代码:

String s = "0,92";
float f = Float.parseFloat(s);
DecimalFormat formatter = new DecimalFormat("#,###");
String end = formatter.format(f);
结果是end=0.000。但ı想要结束=0920。我该怎么做

这对我很有用:

String s = "0.92";
float f = Float.parseFloat(s);
DecimalFormat formatter = new DecimalFormat("0.000");
String end = formatter.format(f);
System.out.println(end); 
请注意字符串s中的“.”和十进制格式的模式。

“,”在这里表示1000标记,即1000000.00表示一百万。

如果在当前区域设置中,小数点分隔符是一个点,则将得到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

你真的想得到
而不是
?是的,对不起。我编辑了这个问题。正如Jongget所暗示的,你应该将原始值(“0,92”)中的逗号改为句点-只有这样parseFloat才能将字符串转换为浮点数,并让格式工作。。。