以这种方式四舍五入(保持小数点)
round up this way (keeping up to decimal)
如何将 2.278481... 更改为 2.2?
double a = 180;
double b = 79;
double x = (a/b);
Math.ceil()
returns3
和Math.floor()
returns2
试试这个:
public static String customFormat(String pattern, double value) {
NumberFormat nf = NumberFormat.getNumberInstance(Locale.ENGLISH);
DecimalFormat df = (DecimalFormat)nf;
df.applyPattern(pattern);
return df.format(value);
}
通话中:
double x = Double.parseDouble(customFormat("###.#", a/b);
此方法也会对数字进行四舍五入。
对于英语语言环境:
,
不是小数分隔符。这是有效的:##,##,##,##.###
.
是小数分隔符。这是无效的:##.##.##.##,###
(至少不适合这个地区)
您可以将 setMaximumFractionDigits 设置为 1。像这样:
public class Test {
public static void main(String[] args) {
System.out.println(format(14.0184849945)); // prints '14.0'
System.out.println(format(13)); // prints '13'
System.out.println(format(3.5)); // prints '3.5'
System.out.println(format(3.138136)); // prints '3.1'
}
public static String format(Number n) {
NumberFormat format = DecimalFormat.getInstance();
format.setRoundingMode(RoundingMode.FLOOR);
format.setMinimumFractionDigits(0);
format.setMaximumFractionDigits(1);
return format.format(n);
}
}
这可能对你有帮助
如何将 2.278481... 更改为 2.2?
double a = 180;
double b = 79;
double x = (a/b);
Math.ceil()
returns3
和Math.floor()
returns2
试试这个:
public static String customFormat(String pattern, double value) {
NumberFormat nf = NumberFormat.getNumberInstance(Locale.ENGLISH);
DecimalFormat df = (DecimalFormat)nf;
df.applyPattern(pattern);
return df.format(value);
}
通话中:
double x = Double.parseDouble(customFormat("###.#", a/b);
此方法也会对数字进行四舍五入。
对于英语语言环境:
,
不是小数分隔符。这是有效的:##,##,##,##.###
.
是小数分隔符。这是无效的:##.##.##.##,###
(至少不适合这个地区)
您可以将 setMaximumFractionDigits 设置为 1。像这样:
public class Test {
public static void main(String[] args) {
System.out.println(format(14.0184849945)); // prints '14.0'
System.out.println(format(13)); // prints '13'
System.out.println(format(3.5)); // prints '3.5'
System.out.println(format(3.138136)); // prints '3.1'
}
public static String format(Number n) {
NumberFormat format = DecimalFormat.getInstance();
format.setRoundingMode(RoundingMode.FLOOR);
format.setMinimumFractionDigits(0);
format.setMaximumFractionDigits(1);
return format.format(n);
}
}
这可能对你有帮助