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()bigdecimal除法保留小数
实现代码:
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;
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);
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。