本文主要是介绍[Java基础] 如何保留两位小数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
前段时间在处理float
类型的数据的时候,发现在float/double
类型的数据输出时,总会遇到这样的问题.
例如: 1.000000000005
.
问题: 1. 位数过多,看起来比较难受; 2. 最后的尾数有偏移.
解决办法: 将尾数四舍五入;将位数进行截断.
正文
如何保留2位小数字?
- 使用
BigDecimal
的setScale()方法;- 使用
System.out.println("%2f",a);
- 使用
NumberFormat
的setMaximumFractionDigits(2)
的方法- 使用
DecimalFormat
的format
方法
import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;public class Format {double f = 111231.5585;public void m1() {BigDecimal bg = new BigDecimal(f);double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();System.out.println(f1);}/*** DecimalFormat转换最简便*/public void m2() {DecimalFormat df = new DecimalFormat("#.00");System.out.println(df.format(f));}/*** String.format打印最简便*/public void m3() {System.out.println(String.format("%.2f", f));}public void m4() {NumberFormat nf = NumberFormat.getNumberInstance();nf.setMaximumFractionDigits(2);System.out.println(nf.format(f));}public static void main(String[] args) {format f = new format();f.m1();f.m2();f.m3();f.m4();}}
Reference
[1]. java double类型保留两位小数4种方法
[2]. Java中Double保留后小数位的几种方法
这篇关于[Java基础] 如何保留两位小数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!