เมธอด Math.IEEERemainder() ใน C# คืนค่าเศษจากการหารตามมาตรฐาน IEEE 754 (ต่างจากตัวดำเนินการ % ปกติ)
ไวยากรณ์
public static double IEEERemainder(double dividend, double divisor);
ตัวอย่างที่ 1
using System;
public class Demo
{
public static void Main()
{
double val1 = 90;
double val2 = 7;
// IEEE Remainder
var rem = Math.IEEERemainder(val1, val2);
Console.WriteLine(rem);
}
}
ผลลัพธ์
-1
ตัวอย่างที่ 2: หารด้วยศูนย์
using System;
public class Demo
{
public static void Main()
{
double val1 = 1;
double val2 = 0;
var rem = Math.IEEERemainder(val1, val2);
Console.WriteLine(rem);
}
}
ผลลัพธ์
NaN
ความแตกต่างจาก % (Modulo): IEEE Remainder = Dividend - (Divisor × Round(Dividend/Divisor)) ใช้การปัดเป็นจำนวนเต็มใกล้เคียง (Round to Nearest) ไม่ใช่การปัดทิ้ง (Truncate) เช่น 90/7 ≈ 12.857 → Round = 13 → 90 - 7×13 = -1