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

Phương thức Single.IsInfinity() trong C# với ví dụ

Phương thức Single.IsInfinity() trong C# được dùng để trả về giá trị cho biết xem số float đượ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(float value);
  • value: Số float (single-precision) cần kiểm tra.

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

Ví dụ 1: Kiểm tra số bình thường và MaxValue

using System;

public class Demo
{
    public static void Main()
    {
        float f1 = 19.3f;
        float f2 = Single.MaxValue; // ~3.4E+38, lớn nhưng VẪN HỮU HẠN

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

        Console.WriteLine("\nGiá trị 2 = " + f2);
        Console.WriteLine("Mã băm giá trị 2 = " + f2.GetHashCode());
        Console.WriteLine("TypeCode giá trị 2 = " + f2.GetTypeCode());
        Console.WriteLine("Là vô cực? = " + Single.IsInfinity(f2));
    }
}

Kết quả

Giá trị 1 = 19.3
Mã băm giá trị 1 = 1100637798
TypeCode giá trị 1 = Single
Là vô cực? = False

Giá trị 2 = 3.402823E+38
Mã băm giá trị 2 = 2139095039
TypeCode giá trị 2 = Single
Là vô cực? = False

Ví dụ 2: Tạo vô cực bằng phép chia cho 0

using System;

public class Demo
{
    public static void Main()
    {
        float f1 = 5.0f / 0.0f; // PositiveInfinity
        float f2 = Single.MinValue; // ~-3.4E+38, hữu hạn

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

        Console.WriteLine("\nGiá trị 2 = " + f2);
        Console.WriteLine("Mã băm giá trị 2 = " + f2.GetHashCode());
        Console.WriteLine("TypeCode giá trị 2 = " + f2.GetTypeCode());
        Console.WriteLine("Là vô cực? = " + Single.IsInfinity(f2));
    }
}

Kết quả

Giá trị 1 = ∞
Mã băm giá trị 1 = 2139095040
TypeCode giá trị 1 = Single
Là vô cực? = True

Giá trị 2 = -3.402823E+38
Mã băm giá trị 2 = -8388609
TypeCode giá trị 2 = Single
Là vô cực? = False

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

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

Lưu ý

  • Single.MaxValue và MinValue là số hữu hạn, không phải vô cực.
  • Phép chia số_khác_0 / 0.0f cho vô cực (dương/âm tùy dấu).
  • Phép chia 0.0f / 0.0f cho NaN.
  • IsInfinity là static method, gọi trên kiểu Single.