1. 程式人生 > >long型別 轉換成小數, 利用bigdicimal

long型別 轉換成小數, 利用bigdicimal

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.