Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Phương thức Double.IsInfinity() trong C#

Phương thức Double.IsInfinity() trong C# được dùng để trả về giá trị cho biết xem số double được chỉ định có đánh giá thành vô cực dương hoặc vô cực âm hay không.

Cú pháp

public static bool IsInfinity(double d);
  • d: Số double (double-precision) cần kiểm tra.

Trả về: true nếu d là Double.PositiveInfinity hoặc Double.NegativeInfinity; ngược lại false.

Ví dụ 1: Số bình thường (không vô cực)

using System;

public class Demo
{
    public static void Main()
    {
        double d = 5.5;

        Console.WriteLine("Giá trị Double = " + d);
        Console.WriteLine("Mã băm = " + d.GetHashCode());
        Console.WriteLine("TypeCode = " + d.GetTypeCode());
        Console.WriteLine("Là vô cực? = " + Double.IsInfinity(d));
    }
}

Kết quả

Giá trị Double = 5.5
Mã băm = 1075183616
TypeCode = Double
Là vô cực? = False

Ví dụ 2: Tạo vô cực dương bằng chia cho 0

using System;

public class Demo
{
    public static void Main()
    {
        double d = 1.0 / 0.0; // PositiveInfinity

        Console.WriteLine("Giá trị Double = " + d);
        Console.WriteLine("Mã băm = " + d.GetHashCode());
        Console.WriteLine("TypeCode = " + d.GetTypeCode());
        Console.WriteLine("Là vô cực? = " + Double.IsInfinity(d));
    }
}

Kết quả

Giá trị Double = ∞
Mã băm = 2146435072
TypeCode = Double
Là vô cực? = True

Các hằng số và phương thức liên quan của Double

Thành viên Giá trị Mô tả
Double.PositiveInfinity ∞ Vô cực dương
Double.NegativeInfinity -∞ Vô cực âm
Double.NaN NaN Không phải số
Double.MaxValue ~1.79E+308 Số hữu hạn lớn nhất
Double.MinValue ~-1.79E+308 Số hữu hạn nhỏ nhất
Double.IsInfinity(d) bool Kiểm tra ±∞
Double.IsPositiveInfinity(d) bool Kiểm tra +∞
Double.IsNegativeInfinity(d) bool Kiểm tra -∞
Double.IsNaN(d) bool Kiểm tra NaN

Ví dụ kiểm tra toàn diện

double[] values = { 
    1.0 / 0.0,      // +Infinity
    -1.0 / 0.0,     // -Infinity
    0.0 / 0.0,      // NaN
    Double.MaxValue, // Hữu hạn lớn
    123.45          // Bình thường
};

foreach (double v in values)
{
    Console.WriteLine($"{v,20} | Infinity: {Double.IsInfinity(v),5} | +Inf: {Double.IsPositiveInfinity(v),5} | -Inf: {Double.IsNegativeInfinity(v),5} | NaN: {Double.IsNaN(v),5}");
}

Kết quả mẫu

                 ∞ | Infinity:  True |  +Inf:  True |  -Inf: False | NaN: False
                -∞ | Infinity:  True |  +Inf: False |  -Inf:  True | NaN: False
               NaN | Infinity: False |  +Inf: False |  -Inf: False | NaN:  True
       1.79769E+308 | Infinity: False |  +Inf: False |  -Inf: False | NaN: False
             123.45 | Infinity: False |  +Inf: False |  -Inf: False | NaN: False

Lưu ý

  • Double.MaxValue và MinValue là hữu hạn, không phải vô cực.
  • Phép chia số_khác_0 / 0.0 cho vô cực (dấu theo toán hạng).
  • Phép chia 0.0 / 0.0 cho NaN.
  • IsInfinity là static method, gọi trên kiểu Double.
  • Hữu ích khi validate kết quả tính toán khoa học, vật lý, tài chính.