如何在不四舍五入的情况下编写具有 3 位有效数字的字符串
How to write string with 3 significant digits without rounding
我想要 3 位有效数字的转换字符串值。
我正在使用此代码:
String s = "0,92";
float f = Float.parseFloat(s);
DecimalFormat formatter = new DecimalFormat("#,###");
String end = formatter.format(f);
结果是结束= 0.000。但是我想得到 end = 0,920。我怎样才能做到这一点?
这对我有用:
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 换一百万。
如果在您当前的语言环境中,小数点分隔符是一个点,那么您将得到 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
我想要 3 位有效数字的转换字符串值。
我正在使用此代码:
String s = "0,92";
float f = Float.parseFloat(s);
DecimalFormat formatter = new DecimalFormat("#,###");
String end = formatter.format(f);
结果是结束= 0.000。但是我想得到 end = 0,920。我怎样才能做到这一点?
这对我有用:
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 换一百万。
如果在您当前的语言环境中,小数点分隔符是一个点,那么您将得到 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