`
wlh269
  • 浏览: 447155 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle number类型数据取出来后四舍五入到小数点后2位

    博客分类:
  • J2SE
阅读更多
package com.wlh.test;

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

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		test5();

	}

	public static void test5() {
		
//====两个浮点数类型的字符串,如何转换为浮点相加,然后保持精度到小数点后2位呢?//
		//转为float,精度丢失
		float f = (float) (851570.78) + (float) (-23825.13);
		//转为double,精度保持
		double d = (double) (851570.78) + (double) (-23825.13);
		double d2 = Double.parseDouble("851570.78")+ Double.parseDouble("-23825.13");
		System.out.println(f);
		System.out.println(d);
		System.out.println(d2);
		
		System.out.println("---------------------------------------------------------");
		//转为float,精度保持
		BigDecimal bigDecimal0 = new BigDecimal("851570.78");
		BigDecimal bigDecimal1 = new BigDecimal("-23825.13");
		//保持小数点后2位
		BigDecimal bigDecima2 = new BigDecimal(bigDecimal0.floatValue()+ bigDecimal1.floatValue()).setScale(2,BigDecimal.ROUND_HALF_UP);
		System.out.println(bigDecima2);
		
		System.out.println("---------------------------------------------------------");
		//转为double,精度保持
		BigDecimal bigDecimal3 = new BigDecimal("851570.78");
		BigDecimal bigDecimal4 = new BigDecimal("-23825.13");
		//保持小数点后2位
		BigDecimal bigDecimal5 = new BigDecimal(bigDecimal3.doubleValue()+ bigDecimal4.doubleValue()).setScale(2,BigDecimal.ROUND_HALF_UP);
		System.out.println(bigDecimal5);
		
		






//====单个浮点数,如何保持精度到小数点后两位呢?=======================//
		System.out.println("---------------------------------------------------------");
		float a=134.567f;
		
		//这种方法方便
		float   b1   =   (float)(Math.round(a*100))/100;
		System.out.println(b1);
		
		//这个方法也简单,不过还要再转成float型:   
		String  b2   =   new   DecimalFormat("###,###,###.##").format(a);   
		float b3=new Float(b2);;
		System.out.println(b3);
		
		 //这个也可以用   
		  BigDecimal   bd   =   new   BigDecimal((double)a); //转为double不会丢失精度     
		  bd   =   bd.setScale(2,BigDecimal.ROUND_HALF_UP);      
		  float b4   =   bd.floatValue();     
		  System.out.println(b4);
		
	}

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics