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小时内删除。
发表评论