java保留截取小数点后指定位数呢?
下文笔者讲述使用java代码保留小数点后指定位数的方法而非你想,如下所示
今天接到一个需求,将一个浮点型转换为指定位数的小数,那么如何实现这一需求呢?下文笔者将一一道来,如下所示
今天接到一个需求,将一个浮点型转换为指定位数的小数,那么如何实现这一需求呢?下文笔者将一一道来,如下所示
实现思路:
方式1:
使用DecimalFormat对象定义位数
方式2:
使用NumberFormat对象定义位数
方式3:
使用String.format格式化指定位数信息
例:数值转换为指定位数
public static void main(String[] args) {
java.text.DecimalFormat df = new DecimalFormat("#.000000");
java.text.NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(6);//保留小数点后几位就传几
nf.setRoundingMode(RoundingMode.DOWN);//需要四舍五入就用 RoundingMode.UP
double lat = 8212.6720123247642;
System.err.println(df.format(lat));//1
System.err.println(nf.format(lat));//2
System.err.println(String.format("%.6f",lat));//3
System.err.println(df.format((int) Math.ceil(lat)));//向上取整
/**
* Math.round() “四舍五入”, 该函数返回的是一个四舍五入后的的整数
* Math.ceil() “向上取整”, 即小数部分直接舍去,并向正数部分进1
* Math.floor() “向下取整” ,即小数部分直接舍去
*/
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


