在Hibernate 的使用中出了一些小意外.
1 查询中,如针对段查询,通常情况下返回 Ojbect[] 但,如仅仅查询一个字段会返回 Object
2 使用SQL查询中Decimal 会生成 BigDecimal.
这就是BigDecimal 的用处了.
public class NumberTest {
public static void main(String[] args) throws Exception {
//新建 BigDecimal
BigDecimal bigDecimal = new BigDecimal("12.10");
//加运算
BigDecimal addDecimal = bigDecimal.add(new BigDecimal(12.10f));
//除运算
BigDecimal divideDecimal = addDecimal.divide(new BigDecimal(12));
System.out.println(bigDecimal);
//注意 Double 和 float 在Java 中的表示形式
System.out.println("addDecimal : " + addDecimal);
System.out.println("divideDecimal : " + divideDecimal);
System.out.println("addDecimal.doubleValue() : " + addDecimal.doubleValue());
System.out.println("divideDecimal.intValue() : " + divideDecimal.intValue());
MathContext content = new MathContext(4);
//negate四舍五入 setScale设置精度
System.out.println(addDecimal.negate(content).setScale(6));
DecimalFormat format = new DecimalFormat();
format.applyPattern("#0.0000");
System.out.println(format.format(divideDecimal));
//建立百分比格式化引用 DecimalFormat 是NumberFormat 的子类
NumberFormat percent = DecimalFormat.getPercentInstance();
System.out.println("divideDecimal : " + divideDecimal);
System.out.println(percent.format(divideDecimal));
}
}
BigDecimal 就这些吧.