Baca dalam bahasa Inggris

Bagikan melalui


Double.NaN Bidang

Definisi

Mewakili nilai yang bukan angka (NaN). Bidang ini konstan.

public const double NaN = NaN;

Nilai Bidang

Value = NaN

Contoh

Contoh berikut mengilustrasikan penggunaan 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.");

Keterangan

Metode atau operator mengembalikan NaN ketika hasil operasi tidak terdefinisi. Misalnya, hasil pembagian nol dengan nol adalah NaN, seperti yang ditunjukkan contoh berikut. (Namun, memba lagi angka bukan nol dengan nol mengembalikan salah satu PositiveInfinity atau NegativeInfinity, tergantung pada tanda pembavis.)

double zero = 0.0;
Console.WriteLine("{0} / {1} = {2}", zero, zero, zero/zero);
// The example displays the following output:
//         0 / 0 = NaN

Selain itu, panggilan metode dengan NaN nilai atau operasi pada NaN nilai mengembalikan NaN, seperti yang ditunjukkan contoh berikut.

double nan1 = Double.NaN;

Console.WriteLine("{0} + {1} = {2}", 3, nan1, 3 + nan1);
Console.WriteLine("Abs({0}) = {1}", nan1, Math.Abs(nan1));
// The example displays the following output:
//       3 + NaN = NaN
//       Abs(NaN) = NaN

IsNaN Gunakan metode untuk menentukan apakah nilai bukan angka. Operator Equality menganggap dua NaN nilai tidak sama satu sama lain. Secara umum, Double operator tidak dapat digunakan untuk membandingkan Double.NaN dengan nilai lain Double , meskipun metode perbandingan (seperti Equals dan CompareTo) dapat. Contoh berikut menggambarkan perbedaan perilaku antara Double operator perbandingan dan metode.

using System;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("NaN == NaN: {0}", Double.NaN == Double.NaN);
      Console.WriteLine("NaN != NaN: {0}", Double.NaN != Double.NaN);
      Console.WriteLine("NaN.Equals(NaN): {0}", Double.NaN.Equals(Double.NaN));
      Console.WriteLine("! NaN.Equals(NaN): {0}", ! Double.NaN.Equals(Double.NaN));
      Console.WriteLine("IsNaN: {0}", Double.IsNaN(Double.NaN));

      Console.WriteLine("\nNaN > NaN: {0}", Double.NaN > Double.NaN);
      Console.WriteLine("NaN >= NaN: {0}", Double.NaN >= Double.NaN);
      Console.WriteLine("NaN < NaN: {0}", Double.NaN < Double.NaN);
      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);
      Console.WriteLine("NaN.CompareTo(NaN): {0}", Double.NaN.CompareTo(Double.NaN));
      Console.WriteLine("NaN.CompareTo(100.0): {0}", Double.NaN.CompareTo(100.0));
      Console.WriteLine("(100.0).CompareTo(Double.NaN): {0}", (100.0).CompareTo(Double.NaN));
   }
}
// The example displays the following output:
//       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

Berlaku untuk

Lihat juga