java-编码笔记-计算百分比(保留两位小数)

本文详细介绍了使用Java进行百分比计算的四种不同方法,包括利用String的format方法、DecimalFormat、BigDecimal的setScale方法以及NumberFormat的setMaximumFractionDigits方法,每种方法都通过实例进行了演示。

1.代码 

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;

public class BaiFenBi2 {
    public static void main(String[] args) {
	BaiFenBi2 bf = new BaiFenBi2();
	bf.main();
    }
    public static void out(String str){
	System.out.println(str);
    }
    public void main(){
	getPercent0(17,108);
	getPercent1(17,108);
	getPercent2(17,108);
	getPercent3(17,107);
    }
    // String的format方法
    public void getPercent0(double x, double total){
	double tempresult = x*100/ total;
	out(String.format("%.2f", tempresult)+"%");
    }
    // DecimalFormat
    public void getPercent1(double x, double total) {
	String result = "";// 接受百分比的值
	double tempresult = x*100/ total;
	DecimalFormat df1 = new DecimalFormat("00.00");
	result = df1.format(tempresult)+"%";
	out(result);
    }
    //BigDecimal的setScale方法
    public void getPercent2(double x, double total){
	double f =  x*100/ total;
	BigDecimal bg = new BigDecimal(f);
	double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
	out(f1+"%");
    }
    //NumberFormat的setMaximumFractionDigits方法
    public void getPercent3(double x, double total){
	double f =  x*100/ total;

	NumberFormat nf = NumberFormat.getNumberInstance();
	nf.setMaximumFractionDigits(2);
	System.out.println(nf.format(f)+"%");
    }
    

}

2.运行结果

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值