Java中double数值保留两位小数的4种实现方式举例
作者:令人作呕的溏心蛋
在Java编程中,我们经常遇到需要对double类型的浮点数进行精确截断或四舍五入保留两位小数的需求,这篇文章主要给大家介绍了关于Java中double数值保留两位小数的4种实现方式,需要的朋友可以参考下
使用 DecimalFormat 类:
import java.text.DecimalFormat; double number = 123.456789; DecimalFormat df = new DecimalFormat("#.##"); String formattedNumber = df.format(number); System.out.println("Formatted Number: " + formattedNumber);
使用 String.format() 方法:
double number = 123.456789; String formattedNumber = String.format("%.2f", number); System.out.println("Formatted Number: " + formattedNumber);
使用 BigDecimal 类:
import java.math.BigDecimal; double number = 123.456789; BigDecimal bd = new BigDecimal(number); BigDecimal roundedNumber = bd.setScale(2, BigDecimal.ROUND_HALF_UP); // 设置保留两位小数并四舍五入 System.out.println("Formatted Number: " + roundedNumber);
使用 Math.round() 方法:
double number = 123.456789; double roundedNumber = Math.round(number * 100.0) / 100.0; // 保留两位小数并四舍五入 System.out.println("Formatted Number: " + roundedNumber);
附:不四舍五入直接保留两位小数
①:DecimalFormat转换(创建DecimalFormat类对象)
import java.text.DecimalFormat; //注意导包 double num = 520.1314; DecimalFormat df = new DecimalFormat("0.00"); String format = df.format(num); System.out.println(format);
②:创建NumberFormat对象
import java.text.NumberFormat; double num = 520.4444; NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits(2); // 不足两位不补0,超过两位部分的自动舍去 //nf.setMinimumFractionDigits(2); 不足两位自动补0,超过两位的部分不舍去 System.out.println(nf.format(num));
总结
到此这篇关于Java中double数值保留两位小数的4种实现方式的文章就介绍到这了,更多相关Java double数值保留两位小数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!