回覆列表
  • 1 # 使用者8852944140293

    -- Math.round()

    (double) (Math.round(sd3*10000)/10000.0);

    這樣為保持4位

    (double) (Math.round(sd3*100)/100.0);

    這樣為保持2位.

    -- BigDecimal

    //保留小數點後兩位小數

    public double Number2(double pDouble)

    {

    BigDecimal bd=new BigDecimal(pDouble);

    BigDecimal bd1=bd.setScale(2,bd.ROUND_HALF_UP);

    pDouble=bd1.doubleValue();

    long ll = Double.doubleToLongBits(pDouble);

    return pDouble;

    }

    格式化輸出數字

    -- NumberFormat

    --java.text 包中的一些包可以處理這類問題。下面的簡單範例使用那些類解決上面提出的問題:

    import java.text.NumberFormat;

    import java.util.Locale;

    public class DecimalFormat1 {

    public static void main(String args[]) {

    // 得到本地的預設格式

    NumberFormat nf1 = NumberFormat.getInstance();

    System.out.println(nf1.format(1234.56));

    // 得到德國的格式

    NumberFormat nf2 =

    NumberFormat.getInstance(Locale.GERMAN);

    System.out.println(nf2.format(1234.56));

    }

    }

    -- DecimalFormat

    import java.text.DecimalFormat;

    import java.util.Locale;

    public class DecimalFormat2 {

    public static void main(String args[]) {

    // 得到本地的預設格式

    DecimalFormat df1 = new DecimalFormat("####.000");

    System.out.println(df1.format(1234.56));

    // 得到德國的格式

    Locale.setDefault(Locale.GERMAN);

    DecimalFormat df2 = new DecimalFormat("####.000");

    System.out.println(df2.format(1234.56));

    }

    }

  • 中秋節和大豐收的關聯?
  • 如何評價委內瑞拉一名陸軍上校投靠瓜伊多這一現象?對局勢將帶來怎樣的影響?