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() “向下取整” ,即小数部分直接舍去 */ }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。