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

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 sub = (b1.subtract(b2)).doubleValue();

//乘

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

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

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/...

*/

• 登入以對解答發表意見