以下是Java中保留两位小数的四种方法实现实例的详细讲解攻略:
方法一:使用DecimalFormat类
可以使用Java的DecimalFormat类直接实现保留小数的操作。具体代码如下:
double num = 3.141592653589793238; // 原始数据
DecimalFormat df = new DecimalFormat("#.00"); // 实例化DecimalFormat对象
String result = df.format(num); // 将原始数据传入对象,调用format()方法格式化结果字符串
System.out.println(result); // 输出结果:3.14
其中,实例化DecimalFormat对象时传入的字符串“#.00”表示保留两位小数,如果要保留三位小数,则需要传入“#.000”等类似格式。需要注意的是,DecimalFormat类仅对数值进行格式化,返回的是一个字符串类型,需要将数值转化为字符串输出。
方法二:使用String类的format()方法
在Java中,可以使用String类的format()方法来格式化字符串,从而实现保留小数位数的操作。具体代码如下:
double num = 3.141592653589793238; // 原始数据
String result = String.format("%.2f", num); // 调用String类的format()方法,实现保留两位小数
System.out.println(result); // 输出结果:3.14
其中,“%.2f”表示保留两位小数,如果要保留三位小数,则需要传入“%.3f”等类似格式。需要注意的是,format()方法会将格式化后的字符串返回,需要使用System.out.println()方法进行输出。
方法三:使用Math.round()方法
Math类的round()方法可以实现四舍五入的功能,将一个浮点数保留到指定的小数位数。具体代码如下:
double num = 3.141592653589793238; // 原始数据
double result = Math.round(num * 100) / 100.0; // 使用Math类的round()方法,将小数点左移两位,再四舍五入,再将小数点移回来
System.out.println(result); // 输出结果:3.14
上述代码中,将原始数据乘以100,使小数点左移两位,然后使用Math类的round()方法进行四舍五入,最后在除以100.0,使小数点右移两位,得到原始数据保留两位小数后的结果。
方法四:使用BigDecimal类
使用Java的BigDecimal类可以准确处理浮点数的精度问题。具体代码如下:
double num = 3.141592653589793238; // 原始数据
BigDecimal bd = new BigDecimal(num); // 实例化BigDecimal对象
double result = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); // 将BigDecimal对象保留两位小数,使用ROUND_HALF_UP进行四舍五入,得到结果
System.out.println(result); // 输出结果:3.14
其中,setScale()方法的第一个参数表示要保留的小数位数,第二个参数表示使用的四舍五入方式。其中,ROUND_HALF_UP表示四舍五入。注意,在最后将BigDecimal转化为double类型时,需要调用doubleValue()方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中保留两位小数的四种方法实现实例 - Python技术站