1. 程式人生 > >BigDecimal保留兩位小數,或指定精確的位數

BigDecimal保留兩位小數,或指定精確的位數

floor set spa 函數 情況 println AD ring out

public static void main(String[] args) {

        BigDecimal t1 = new BigDecimal("3.15289");
        BigDecimal t2 = new BigDecimal("-3.11289");

        //  新的t1值,並初始化
        BigDecimal newt1 = BigDecimal.ZERO;

        //  新的t2值,並初始化
        BigDecimal newt2 = BigDecimal.ZERO;

        //  精確一位小數 結果為 3.1
newt1 = newt1.add(t1.setScale(1,RoundingMode.FLOOR)); // 精確一位小數 結果為 -3.2 newt2 = newt2.add(t2.setScale(1,RoundingMode.FLOOR)); System.out.println("newt1:"+newt1); System.out.println("newt2"+newt2); }

結論:當原始數據為正數時,可采用RoundingMode.FLOOR函數進行要保留的位數,前提是正數的情況下,切記!!!

BigDecimal保留兩位小數,或指定精確的位數