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.MaxValuevàMinValuelà số hữu hạn, không phải vô cực.- Phép chia
số_khác_0 / 0.0fcho vô cực (dương/âm tùy dấu). - Phép chia
0.0f / 0.0fcho NaN. IsInfinitylà static method, gọi trên kiểuSingle.