java 两个数相除后四舍五入并保留两位小数有哪些方式?

Python0127

java 两个数相除后四舍五入并保留两位小数有哪些方式?,第1张

1  double f = 3.1516

BigDecimal b = new BigDecimal(f)

2   double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()

new java.text.DecimalFormat("#.00").format(3.1415926)

3   double d = 3.1415926

String result = String.format("%.2f", d)

// %.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。

4   Math.round(5.2644555 * 100) * 0.01d

//String.format("%0" + 15 + "d", 23) 23不足15为就在前面补0

1  方法点拨求近似数时:保留整数,表示精确到个位;保留一位小数,表示精确到十分位;保留两位小数,表示精确到百分位……

2、保留一位小数

如果保留一位小数,就要把第二、三位小数省略。

在表示近似数时,小数末尾的0不能去掉。 

3、保留整数部分:

 ≈1

方式一:

四舍五入

double f = 111231.5585

BigDecimal b = new BigDecimal(f)

double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()

保留两位小数

---------------------------------------------------------------

方式二:

java.text.DecimalFormat df =new java.text.DecimalFormat("#.00")

df.format(你要格式化的数字)

例:new java.text.DecimalFormat("#.00").format(3.1415926)

#.00 表示两位小数 #.0000四位小数 以此类推...

方式三:

double d = 3.1415926

String result = String .format("%.2f")

%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型

方式四:

NumberFormat ddf1=NumberFormat.getNumberInstance()

void setMaximumFractionDigits(int digits)

digits 显示的数字位数

为格式化对象设定小数点后的显示的最多位,显示的最后位是舍入的

使用DecimalFormat格式化

Scanner input = new Scanner(System.in)

int[] scores = new int[4]

int sum = 0

for (int i = 0i <4i++) {

System.out.println("请输入第" + (i + 1) + "位同学的成绩")

scores[i] = input.nextInt()

sum = sum + scores[i]

}

double ave = sum / 4.0

DecimalFormat format = new DecimalFormat("0.00")

System.out.println("平均成绩是:" + format.format(ave))