java保留小数点后几位的几种方法(小数点精确)


java保留小数点后几位的 几种方法:

(1)

Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。

双精度浮点型变量double可以处理16位有效数。

 

方法一:

  使用java.math下的 BigDecimal 类,实例化对象后,调用setScale(精度,方式)方法 

   第一个参数表示 保留多少位小数,第二个参数表示取整的方式

    BigDecimal bd = new BigDecimal();
    bd.setScale(x,BigDecimal.ROUND_HALF_UP).valueFloat()

 

实现代码:

import java.math.BigDecimal;
public class Test{
    public static void main(String[]args){
        /*方法一:
         * 1.调用 setScale(精度,方式)
         * 2.第一个参数表示 保留多少位小数,第二个参数表示取整的方式
         * 3.BigDecimal.ROUNG_HALF_UP  表示向上取整,即四舍五入
         *   最后返回float 类型参数
         * */
        float num1 = 3.1415926f;
        BigDecimal bd = new BigDecimal(num1);
        float num2  =bd.setScale(2,BigDecimal.ROUND_HALF_UP).floatValue();
        System.out.println(num2);
        
        /*
        * 方法二:
        * */
    }
}

 


(2)

方法二:

DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。

* 1.使用DecimalFormat()
* 2.初始化后,设置输出的format格式
* 00.## 00表示输出两个数字,不足则补0
* ##表示四舍五入保留两位小数,若最后一位为0,则舍弃


实现代码:
import java.math.BigDecimal;
import java.text.DecimalFormat;

public class Test{
    public static void main(String[]args){
        /*
        * 方法二:
        * 1.使用DecimalFormat()
        * 2.初始化后,设置输出的format格式
        *   00.##  00表示输出两个数字,不足则补0
        *          ##表示四舍五入保留两位小数,若最后一位为0,则舍弃
        * */
        float num1 = 3.1415916f;
        DecimalFormat df = new DecimalFormat("00.##");//保留两位小数
        System.out.println(df.format(num1));
    }
}
 

(3

 方法三:         

       利用String类中的 format方法

 String.format("%.2f",需要进行格式化的数字); %.2f表示保留 两位小数 %.3f表示保留 三位小数
public class Test{
    public static void main(String[]args){
        /*
        * 方法三:
        *       利用String类中的 format方法
        *       String.format("%.2f",需要进行格式化的数字);
        *       %.2f表示保留 两位小数  %.3f表示保留 三位小数
        * */
        float num = 3.1415926f;
        String num1  = String.format("%.2f",num);
        System.out.println(num1);
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM