java除以
Ⅰ java里怎麼算除法
如果想要帶小數的復結果那麼制在聲明的時候就要把變數聲明成浮點型
float = 0.0f
double = 0.0
int型是整型變數,沒有小數部分,所以要把它們聲明成浮點數(即小數),例如float=5.0f;float = 2.0f;後邊的f表示2.0是float型的單精度浮點數,如果不帶f則是默認的double型雙精度浮點數。兩個float型的數字相除,這樣計算的結果也使float型的,所以就會有小數部分出現了。
Ⅱ java的加減乘除運算
使用並且一定要用String來夠造。
實現方法如下:
import java.math.BigDecimal;
/**
* 由於Java的簡單類型不能夠精確的對浮點數進行運算,這個工具類提供精
* 確的浮點數運算,包括加減乘除和四捨五入。
*/
public class Arith{
//默認除法運算精度
private static final int DEF_DIV_SCALE = 10;
//這個類不能實例化
private Arith(){
}
/**
* 提供精確的加法運算。
* @param v1 被加數
* @param v2 加數
* @return 兩個參數的和
*/
public static double add(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2).doubleValue();
}
/**
* 提供精確的減法運算。
* @param v1 被減數
* @param v2 減數
* @return 兩個參數的差
*/
public static double sub(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2).doubleValue();
}
/**
* 提供精確的乘法運算。
* @param v1 被乘數
* @param v2 乘數
* @return 兩個參數的積
*/
public static double mul(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2).doubleValue();
}
/**
* 提供(相對)精確的除法運算,當發生除不盡的情況時,精確到
* 小數點以後10位,以後的數字四捨五入。
* @param v1 被除數
* @param v2 除數
* @return 兩個參數的商
*/
public static double div(double v1,double v2){
return div(v1,v2,DEF_DIV_SCALE);
}
/**
* 提供(相對)精確的除法運算。當發生除不盡的情況時,由scale參數指
* 定精度,以後的數字四捨五入。
* @param v1 被除數
* @param v2 除數
* @param scale 表示表示需要精確到小數點以後幾位。
* @return 兩個參數的商
*/
public static double div(double v1,double v2,int scale){
if(scale<0){
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 提供精確的小數位四捨五入處理。
* @param v 需要四捨五入的數字
* @param scale 小數點後保留幾位
* @return 四捨五入後的結果
*/
public static double round(double v,int scale){
if(scale<0){
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
};
Ⅲ 在java中的double和float類型數據相除為什麼可以除以零
java中就是這么規定的,沒有什麼為什麼,具體規定如下:
任意整數(byte、short、int、long皆可)除以整數0結果為ArithmeticException;
0除以浮點0結果為NAN,細分的話包括以下三種情況:
(1)0/0.0
(2)0.0/0.0
(3)0.0/0
情況(3)雖然除的是個整數0,但在運算過程中發生了類型轉化變成了浮點0;
任意數(八大基本類型皆可)除以浮點0結果為Infinity/-Infinity。
如果問為什麼會這樣,可以理解為在java中浮點數0並非一個准確值,而是一個無限接近0的數。
此外,Float.NaN!=Float.NAN,Double.NaN!=Double.NaN;但是Float.POSITIVE_INFINITY==Float.POSITIVE_INFINITY==Double.POSITIVE_INFINITY、
Float.NEGATIVE_INFINITY==Float.NEGATIVE_INFINITY==Double.NEGATIVE_INFINITY。
Ⅳ java做除法運算,為什麼除不開時也會得到整數呢
這個是默認定義的值的類型是int類型導致的。
如:5/2;此時結果為:2,因為5和2都是默認的int類型。回
如果不想答得到整形,那麼必須定義分子和分母都是double類型才可以。
double a = 2;
double b = 5;
System.out.println(b/a);
結果就是:2.5.
Ⅳ java 兩個數相除怎麼計算
num1/num2 :取整數 例如:5/2=2
num1%num2 ;取余數 例如:5/2=1
Ⅵ java中整除和浮點除什麼區別
/
運算符
用來進行兩個數的除法運算並返回一個浮點數。
語法
result
=
number1/number2
result
的數據類型通常專是
double
或
double
變體。
下列情屬況是例外:
1、如果兩個表達式都是
byte、integer
或single表達式時,
則
result
為一個
single,除非超出正確范圍;如果發生這種情況,則產生錯誤。
2、如果兩個表達式都是
byte、integer
或single變體,則
result為一個
single變體,除非已超出正確范圍;一旦發生這種情況,則
result為一個包含
double的variant。
3、如果除法運算中有一個
decimal及其它任何數據類型,
則
result為一個
decimal數據類型。
4、如果有一個或是兩個表達式是
null表達式,則
result為
null。如果一個表達式是
empty則作為
0
處理。
Ⅶ java 兩個數相除怎麼計算
%是取余數啊
5*1.0/8,先轉化到float或double類型,再計算結果,int類型會忽略小數
或者聲明變數時直接float a=5,b=8;結果也是float類型
Ⅷ java的除法運算(入門)
對/運算符,如果兩個數都是整數,那結果就是整數,如果有餘數那余數就丟掉了。
如果其中有一個是小數,那麼結果 就是小數,例如 :9.0/5 = 1.8 或 9/0.5 = 1.8
Ⅸ java里怎麼算除法
如果想要來帶小數的結果那源么在聲明的時候就要把變數聲明成浮點型 float = 0.0f double = 0.0因為聲明的5和2都是int型的變數,所以計算出來的結果也是int型的,int型是整型變數,沒有小數部分,所以要把它們聲明成浮點數(即小數),例如float=5.0f;float = 2.0f;後邊的f表示2.0是float型的單精度浮點數,如果不帶f則是默認的double型雙精度浮點數。兩個float型的數字相除,這樣計算的結果也使float型的,所以就會有小數部分出現了。
Ⅹ JAVA里 一個int 數 除以 另一個 int數,比如 101/2 。程序里返回值為
默認的 Java / 對於兩個整數來說返回的也是整數,你可以寫成 ((double) 101) / 2 或者 101 * 1.0 / 2.