關於JAVA的語法問題。贈二十點

關於JAVA的語法問題:

請問如何把string字串,轉換成double。

請跟我寫詳細語法

最好附解說

因為我想設計可以計算小數點的計算機

非常感激

已更新項目:

還有char,float,long.short,byte,的可以順便給一下嗎?

1 個解答

評分
  • 1 0 年前
    最佳解答

    import java.math.BigDecimal;

    public class test {

    public static void main(String[] args) {

    String num1 = "1.234";

    String num2 = "2.432";

    double num1_d = 0.0;

    double num2_d = 0.0;

    //方法一

    num1_d = Double.parseDouble(num1);

    num2_d = Double.parseDouble(num2);

    //把兩數值做相加測試

    System.out.print("方法一相加 = ");

    System.out.println(num1_d + num2_d);

    //方法二

    BigDecimal b1 = new BigDecimal(num1);

    BigDecimal b2 = new BigDecimal(num2);

    num1_d = b1.doubleValue();

    num2_d = b2.doubleValue();

    //把兩數值做相加測試

    System.out.print("方法二相加 = ");

    System.out.println(num1_d + num2_d);

    /******* 方法二 其它相關用法 ********/

    //加

    double add = (b1.add(b2)).doubleValue();

    //減

    double sub = (b1.subtract(b2)).doubleValue();

    //乘

    double multiply = (b1.multiply(b2)).doubleValue();

    //除 四捨五入 取小數點2位數

    double divide = (b1.divide(b2, 2, BigDecimal.ROUND_HALF_UP)).doubleValue();

    //可直接設定 小數點位數 及 型態

    BigDecimal b3 = new BigDecimal("5.6799");

    double result_b3 = (b3.setScale(3, BigDecimal.ROUND_HALF_UP)).doubleValue();

    /*

    BigDecimal.ROUND_CEILING 正數無條件進入,負數無條件捨去

    BigDecimal.ROUND_DOWN  無條件捨去到 scale 位

    BigDecimal.ROUND_FLOOR 正數無條件捨去,負數無條件進入

    BigDecimal.ROUND_HALF_DOWN 四捨五捨六入

    BigDecimal.ROUND_HALF_EVEN 四捨六入,五入捨後該scale位數值必需為偶數

    BigDecimal.ROUND_HALF_UP 四捨五入

    BigDecimal.ROUND_UP 無條件進入到 scale 位

    */

    }

    }

    2007-09-02 12:04:27 補充:

    //char 是字元不是數字型態

    String x = "3";

    //字串轉數字

    Byte b = Byte.parseByte(x);

    short s = Short.parseShort(x);

    int i = Integer.parseInt(x);

    long l = Long.parseLong(x);

    float f = Float.parseFloat(x);

    double d = Double.parseDouble(x);

    //數字轉字串

    String new_x = String.valueOf(f);

    System.out.println(new_x);

    2007-09-02 12:04:55 補充:

    /*

    這些 primitive wrapper classes 位在 java.lang package 下

    http://java.sun.com/j2se/1.5.0/docs/api/java/lang/...

    */

還有問題?馬上發問,尋求解答。