Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เมธอด Single.IsNegativeInfinity() ใน C# พร้อมตัวอย่าง


เมธอด Single.IsNegativeInfinity() ใน C# ใช้สำหรับตรวจสอบว่าค่าที่ระบุเป็นลบอนันต์ (negative infinity) หรือไม่ โดยจะคืนค่า true หากค่าเป็นลบอนันต์ มิฉะนั้นจะคืนค่า false

ไวยากรณ์ (Syntax)

รูปแบบการใช้งานมีดังนี้:

public static bool IsNegativeInfinity (float val);

พารามิเตอร์ val คือตัวเลขทศนิยมความแม่นยำเดี่ยว (single-precision floating-point number) ที่ต้องการตรวจสอบ

ตัวอย่างที่ 1: การหารด้วยศูนย์

ตัวอย่างต่อไปนี้สาธิตการใช้งานเมธอดนี้กับค่าที่ได้จากการหารด้วยศูนย์:

using System;

public class Demo
{
    public static void Main()
    {
        float f1 = 5.0f / 0.0f;   // ผลลัพธ์เป็น +Infinity
        float f2 = 0.0f / 0.0f;   // ผลลัพธ์เป็น NaN

        Console.WriteLine("Value1 = " + f1);
        Console.WriteLine("Hashcode for Value1 = " + f1.GetHashCode());
        Console.WriteLine("TypeCode for Value1 = " + f1.GetTypeCode());
        Console.WriteLine("Is Value1 infinity? = " + Single.IsInfinity(f1));
        Console.WriteLine("Is Value1 NaN? = " + Single.IsNaN(f1));
        Console.WriteLine("Is Value1 negative infinity? = " + Single.IsNegativeInfinity(f1));

        Console.WriteLine("\nValue2 = " + f2);
        Console.WriteLine("Hashcode for Value2 = " + f2.GetHashCode());
        Console.WriteLine("TypeCode for Value2 = " + f2.GetTypeCode());
        Console.WriteLine("Is Value2 infinity? = " + Single.IsInfinity(f2));
        Console.WriteLine("Is Value2 NaN? = " + Single.IsNaN(f2));
        Console.WriteLine("Is Value2 negative infinity? = " + Single.IsNegativeInfinity(f2));
    }
}

ผลลัพธ์

Value1 = ∞
Hashcode for Value1 = 2139095040
TypeCode for Value1 = Single
Is Value1 infinity? = True
Is Value1 NaN? = False
Is Value1 negative infinity? = False

Value2 = NaN
Hashcode for Value2 = -4194304
TypeCode for Value2 = Single
Is Value2 infinity? = False
Is Value2 NaN? = True
Is Value2 negative infinity? = False

ตัวอย่างที่ 2: ค่าลบอนันต์และค่าต่ำสุดของ Single

ตัวอย่างนี้ทดสอบกับค่าลบอนันต์ที่ได้จากการหารเลขลบด้วยศูนย์ และค่า Single.MinValue:

using System;

public class Demo
{
    public static void Main()
    {
        float f1 = -25.0f / 0.0f;      // ผลลัพธ์เป็น -Infinity
        float f2 = Single.MinValue;    // ค่าต่ำสุดของ float

        Console.WriteLine("Value1 = " + f1);
        Console.WriteLine("Hashcode for Value1 = " + f1.GetHashCode());
        Console.WriteLine("TypeCode for Value1 = " + f1.GetTypeCode());
        Console.WriteLine("Is Value1 infinity? = " + Single.IsInfinity(f1));
        Console.WriteLine("Is Value1 NaN? = " + Single.IsNaN(f1));
        Console.WriteLine("Is Value1 negative infinity? = " + Single.IsNegativeInfinity(f1));

        Console.WriteLine("\nValue2 = " + f2);
        Console.WriteLine("Hashcode for Value2 = " + f2.GetHashCode());
        Console.WriteLine("TypeCode for Value2 = " + f2.GetTypeCode());
        Console.WriteLine("Is Value2 infinity? = " + Single.IsInfinity(f2));
        Console.WriteLine("Is Value2 NaN? = " + Single.IsNaN(f2));
        Console.WriteLine("Is Value2 negative infinity? = " + Single.IsNegativeInfinity(f2));
    }
}

ผลลัพธ์

Value1 = -∞
Hashcode for Value1 = -8388608
TypeCode for Value1 = Single
Is Value1 infinity? = True
Is Value1 NaN? = False
Is Value1 negative infinity? = True

Value2 = -3.402823E+38
Hashcode for Value2 = -8388609
TypeCode for Value2 = Single
Is Value2 infinity? = False
Is Value2 NaN? = False
Is Value2 negative infinity? = False

สรุป

  • Single.IsNegativeInfinity() คืนค่า true ก็ต่อเมื่อค่าที่ตรวจสอบเป็นลบอนันต์ (-Infinity) เท่านั้น
  • ค่า NaN (Not a Number) และค่าบวกอนันต์ (+Infinity) จะคืนค่า false
  • ค่าปกติรวมถึง Single.MinValue ก็จะคืนค่า false เพราะไม่ใช่ลบอนันต์