long型別 轉換成小數, 利用bigdicimal
阿新 • • 發佈:2019-01-30
long 類裡的方法,將一個long型別轉換成float public float floatValue() { return (float)value; } Long paid = 0L; if(searchResult[14] != null){ paid = Long.valueOf(searchResult[14].toString()); } BigDecimal bd2 = new BigDecimal(paid.floatValue()); Float f = bd2.divide(divide, 2, BigDecimal.ROUND_HALF_UP).floatValue(); bean.setParkingFee(f); BigDecimal.ROUND_HALF_UP 往上取:別如 1.23------>1.3
下面是百度的例子
BigDecimal bigLoanAmount =
new
BigDecimal(
"具體數值"
);
//建立BigDecimal物件
BigDecimal bigInterestRate =
new
BigDecimal(
"具體數值"
);
BigDecimal bigInterest = bigLoanAmount.multiply(bigInterestRate);
//BigDecimal運算
NumberFormat currency = NumberFormat.getCurrencyInstance();
//建立貨幣格式化引用
NumberFormat percent = NumberFormat.getPercentInstance();
//建立百分比格式化用
percent.setMaximumFractionDigits(
3
);
//百分比小數點最多3位
//利用BigDecimal物件作為引數在format()中呼叫貨幣和百分比格式化
System.out.println(
"Loan amount:\t"
+ currency.format(bigLoanAmount));
System.out.println(
"Interest rate:\t"
+ percent.format(bigInterestRate));
System.out.println(
"Interest:\t"
+ currency.format(bigInterest));
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Loan amount: ¥ 129 , 876 , 534 , 219 , 876 , 523.12
Interest rate: 8.765 %
Interest: ¥ 11 , 384 , 239 , 549 , 149 , 661.69
常見用法:
初始化 BigDecimal a= new BigDecimal( "1.35" );
對數值取值:
1 .a.getScale( 1 ,BigDecimal.ROUND_DOWN);
取一位小數,直接刪除後面多餘位數,故取值 1.3 .
2 .a.getScale( 1 ,BigDecimal.ROUND_UP);
取一位小數,刪除後面位數,進一位,故取值 1.4 .
3 .a.getScale( 1 ,BigDecimal.ROUND_HALF_UP);
取一位小數,四捨五入,故取值 1.4 .
4 .a.getScale( 1 ,BigDecimal.ROUND_HALF_DOWN);
取一位小數,四捨五入,但是 5 也是捨棄,故取值 1.3 .
|