Java Math IEEEremainder()方法對(duì)指定的參數(shù)執(zhí)行除法運(yùn)算,并根據(jù)IEEE 754標(biāo)準(zhǔn)返回余數(shù)。
IEEEremainder()方法的語(yǔ)法為:
Math.IEEEremainder(double x, double y)
注意:IEEEremainder()方法是靜態(tài)方法。因此,我們可以使用類名Math直接調(diào)用該方法。
x - 被除數(shù)
y - 除數(shù)
根據(jù)IEEE 754標(biāo)準(zhǔn)返回余數(shù)
class Main { public static void main(String[] args) { //聲明變量 double arg1 = 25.0; double arg2 = 3.0; //在arg1和arg2上執(zhí)行Math.IEEEremainder() System.out.println(Math.IEEEremainder(arg1, arg2)); // 1.0 } }
Math.IEEEremainder()方法和%運(yùn)算符返回的余數(shù)等于arg1 - arg2 * n。但是,n的值不同。
IEEEremainder() - n是最接近arg1/arg2的整數(shù)。而且,如果arg1/arg2返回兩個(gè)整數(shù)之間的值,則n是偶數(shù)整數(shù)(即結(jié)果1.5,n=2)
% 運(yùn)算符 - n是arg1/arg2的整數(shù)部分(對(duì)于結(jié)果1.5,n=1)。
class Main { public static void main(String[] args) { //聲明變量 double arg1 = 9.0; double arg2 = 5.0; // 使用 Math.IEEEremainder() 方法 System.out.println(Math.IEEEremainder(arg1, arg2)); // -1.0 // 使用 % operator System.out.println(arg1 % arg2); // 4.0 } }
在上面的示例中,我們可以看到IEEEremainder()方法和%運(yùn)算符返回的余數(shù)不同。這是因?yàn)椋?/p>
對(duì)于Math.IEEEremainder()
arg1/arg2 => 1.8 //IEEEremainder() n = 2 arg - arg2 * n => 9.0 - 5.0 * 2.0 => -1.0
對(duì)于%運(yùn)算符
arg1/arg2 => 1.8 // % 運(yùn)算符 n = 1 arg1 - arg2 * n => 9.0 - 5.0 * 1.0 => 4.0