在 Java 中,可以使用 BigDecimal 类来进行四舍五入操作,以下是一个优化的四舍五入代码示例:
import java.math.BigDecimal;
import java.math.RoundingMode;
public class RoundExample {
public static double round(double value, int places) {
if (places < 0) throw new IllegalArgumentException();
BigDecimal bd = BigDecimal.valueOf(value);
bd = bd.setScale(places, RoundingMode.HALF_UP);
return bd.doubleValue();
}
public static void main(String[] args) {
double value = 3.14159;
int places = 2;
double roundedValue = round(value, places);
System.out.println("Rounded value: " + roundedValue);
}
}
在上面的代码中,我们定义了一个 round
方法,接受一个 double 类型的值和要保留的小数位数作为参数,并使用 BigDecimal 类的 setScale
方法来进行四舍五入操作,最后将结果转换为 double 类型并返回。可以通过调用这个方法来对任意 double 值进行四舍五入操作。