Java Double: 四舍五入并设置小数点位数

Categories: Java; Tagged with: ; @ July 29th, 2010 9:13

基础啊基础, 基础牢了省多少时间啊….

	public static void main(String[] args) {
		// 1. 先乘后四舍五入, 再除;
		double d = 62.31060027198647;

		double d2 = Math.round(d*100)/100.0;
		System.out.println("通过Math取整后做除法: " + d2);

		// 2. 通过BigDecimal的setScale()实现四舍五入与小数点位数确定, 将转换为一个BigDecimal对象.
		BigDecimal bd = new BigDecimal(d);
		BigDecimal bd2 = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
		System.out.println("通过BigDecimal.setScale获得: " + bd2);

		// 3. 通过DecimalFormat.format返回String的
		DecimalFormat df = new DecimalFormat("#.##");
		System.out.println("通过DecimalFormat.format获得: " + df.format(d));

		// 4. 通过String.format
		System.out.println("通过StringFormat: " + String.format("%.2f", d));
	}

// 通过Math取整后做除法: 62.31
// 通过BigDecimal.setScale获得: 62.31
// 通过DecimalFormat.format获得: 62.31
// 通过StringFormat: 62.31

<->



// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.