คุณกำลังดูเวอร์ชันข้อความล้วน — ไม่มีรูปภาพและสคริปต์
JaiMuangน่าน · เปลี่ยน

Double. NaN Field

ที่มา: learn

Double.NaN Field

Definition

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Represents a value that is not a number (NaN). This field is constant.

Value = NaNExamples

The following example illustrates the use of NaN.

Double zero = 0;

// This condition will return false.

if ((0 / zero) == Double.NaN)

Console.WriteLine("0 / 0 can be tested with Double.NaN.");

else

Console.WriteLine("0 / 0 cannot be tested with Double.NaN; use Double.IsNan() instead.");

let zero = 0.

if 0. / zero = Double.NaN then

printfn "0 / 0 can be tested with Double.NaN."

printfn "0 / 0 cannot be tested with Double.NaN use Double.IsNan() instead."

Dim zero As Double = 0

' This condition will return false.

If (0 / zero) = Double.NaN Then

Console.WriteLine("0 / 0 can be tested with Double.NaN.")

Else

Console.WriteLine("0 / 0 cannot be tested with Double.NaN; use Double.IsNan() instead.")

End If

Remarks

A method or operator returns NaN when the result of an operation is undefined. For example, the result of dividing zero by zero is NaN, as the following example shows. (However, dividing a non-zero number by zero returns either PositiveInfinity or NegativeInfinity, depending on the sign of the divisor.)

double zero = 0.0;

Console.WriteLine("{0} / {1} = {2}", zero, zero, zero/zero);

// The example displays the following output:

// 0 / 0 = NaN

let zero = 0.0

printfn $"{zero} / {zero} = {zero / zero}"

Console.WriteLine("{0} / {1} = {2}", zero, zero, zero/zero)

' The example displays the following output:

' 0 / 0 = NaN

In addition, a method call with a NaN value or an operation on a NaN value returns NaN, as the following example shows.

double nan1 = Double.NaN;

Console.WriteLine("{0} + {1} = {2}", 3, nan1, 3 + nan1);

Console.WriteLine("Abs({0}) = {1}", nan1, Math.Abs(nan1));

// 3 + NaN = NaN

// Abs(NaN) = NaN

let nan1 = Double.NaN

printfn $"{3} + {nan1} = {3. + nan1}"

printfn $"abs({nan1}) = {abs nan1}"

// abs NaN = NaN

Dim nan1 As Double = Double.NaN

Console.WriteLine("{0} + {1} = {2}", 3, nan1, 3 + nan1)

Console.WriteLine("Abs({0}) = {1}", nan1, Math.Abs(nan1))

' 3 + NaN = NaN

' Abs(NaN) = NaN

using System;

public class Example

public static void Main()

Console.WriteLine("NaN < 100.0: {0}", Double.NaN < 100.0);

Console.WriteLine("NaN <= 100.0: {0}", Double.NaN <= 100.0);

Console.WriteLine("NaN >= 100.0: {0}", Double.NaN > 100.0);

// NaN == NaN: False

// NaN != NaN: True

// NaN.Equals(NaN): True

// ! NaN.Equals(NaN): False

// IsNaN: True

//

// NaN > NaN: False

// NaN >= NaN: False

// NaN < NaN: False

// NaN < 100.0: False

// NaN <= 100.0: False

// NaN >= 100.0: False

// NaN.CompareTo(NaN): 0

// NaN.CompareTo(100.0): -1

// (100.0).CompareTo(Double.NaN): 1

open System

printfn $"NaN = NaN: {Double.NaN = Double.NaN}"

printfn $"NaN <> NaN: {Double.NaN <> Double.NaN}"

printfn $"NaN.Equals(NaN): {Double.NaN.Equals Double.NaN}"

printfn $"not (NaN.Equals NaN): {not (Double.NaN.Equals Double.NaN)}"

printfn $"NaN >= NaN: {Double.NaN >= Double.NaN}"

printfn $"NaN < NaN: {Double.NaN < Double.NaN}"

printfn $"NaN < 100.0: {Double.NaN < 100.0}"

printfn $"NaN <= 100.0: {Double.NaN <= 100.0}"

printfn $"NaN >= 100.0: {Double.NaN > 100.0}"

printfn $"NaN.CompareTo(100.0): {Double.NaN.CompareTo 100.0}"

printfn $"(100.0).CompareTo(Double.NaN): {(100.0).CompareTo Double.NaN}"

// NaN = NaN: False

// NaN <> NaN: True

// not (NaN.Equals NaN): False

Module Example

Public Sub Main()

Console.WriteLine()

Console.WriteLine("NaN > NaN: {0}", Double.NaN > 100.0)

Console.WriteLine("NaN >= NaN: {0}", Double.NaN >= 100.0)

Console.WriteLine("NaN < 100.0: {0}", Double.NaN < 100.0)

Console.WriteLine("NaN <= 100.0: {0}", Double.NaN <= 100.0)

Console.WriteLine("NaN >= 100.0: {0}", Double.NaN > 100.0)

End Sub

End Module

' NaN == NaN: False

' NaN != NaN: True

' NaN.Equals(NaN): True

' ! NaN.Equals(NaN): False

' IsNaN: True

' NaN > NaN: False

' NaN >= NaN: False

' NaN < NaN: False

' NaN < 100.0: False

' NaN <= 100.0: False

' NaN >= 100.0: False

' NaN.CompareTo(NaN): 0

' NaN.CompareTo(100.0): -1

' (100.0).CompareTo(Double.NaN): 1

ความคิดเห็น