美文网首页
java实现数据四舍五入

java实现数据四舍五入

作者: 忘了呼吸的那只猫 | 来源:发表于2023-05-31 15:02 被阅读0次
  • 1.使用String.format("%.2f",num);

这种方法可以用float,double接收数据类型,可以四舍五入保留两位小数,但是小数点第二位是0的话会不显示。以下代码用到此方法的语句:

public class Main {
    public static void main(String[] args) {
        double x = 2.585;
        x = Double.parseDouble(String.format("%.2f",x));
        System.out.println(x);
    }
}
  • 2.使用DecimalFormat
    这种方法可以用float,double接收数据类型。有多重模式可以使用(UPDOWNHALF_UPHALF_DOWN)等等,HALF_UP可以四舍五入,如保留两位小数,小数点第二位是0的话会不显示,整数位有时候会不显示,可以把#号改成0整数位就会显示了。以下代码用到此方法的语句:
import java.math.RoundingMode;
import java.text.DecimalFormat;

public class Main {
    public static void main(String[] args) {
        double x = 2.585;
        DecimalFormat df = new DecimalFormat("#.#"); //不省略0用:0.00
        df.setRoundingMode(RoundingMode.HALF_UP);
        String z = df.format(x);
        System.out.println(z);
    }
}

注意:此种方式只能四舍五入小数点后一位,两位以上,会默认使用HALF_EVEN模式,尾数是5时向偶数位舍入

  • 3.使用BigDecimal,这种方式可以弥补上面只能舍入一位小数的缺陷,看代码
import java.math.BigDecimal;
import java.math.RoundingMode;

public class Main {
    public static void main(String[] args) {
        double x = 2.5555555;
        BigDecimal bd = new BigDecimal(String.valueOf(x));
        String z = String.valueOf(bd.setScale(3, RoundingMode.HALF_UP));
        System.out.println(z);
    }
}

相关文章

网友评论

      本文标题:java实现数据四舍五入

      本文链接:https://www.haomeiwen.com/subject/mxsyedtx.html