C#のDouble.IsNegativeInfinity()メソッドとは?使い方とサンプルコードを解説
C#のDouble.IsNegativeInfinity()メソッドは、指定された数値が負の無限大(Negative Infinity)と評価されるかどうかを示すbool値を返す静的メソッドです。数値計算において、除算などで発生する無限大の値を判定したい場合に役立ちます。
構文
このメソッドの構文は以下の通りです。
public static bool IsNegativeInfinity (double val);
引数のvalには、判定対象となる倍精度浮動小数点数(double)を指定します。値が負の無限大であればtrue、そうでなければfalseが返されます。
使用例1:NaNの場合
まず、0.0を0で割った結果(NaN)に対してこのメソッドを使用する例を見てみましょう。
using System;
public class Demo {
public static void Main(){
double d = 0.0/0;
Console.WriteLine("Double Value = "+d);
Console.WriteLine("HashCode of Double Value = "+d.GetHashCode());
TypeCode type = d.GetTypeCode();
Console.WriteLine("TypeCode of Double Value = "+type);
Console.WriteLine("Positive Infinity? = "+Double.IsInfinity(d));
Console.WriteLine("Check whether the specified value is NaN? = "+Double.IsNaN(d));
Console.WriteLine("Does the value evaluate to negative infinity? = "+Double.IsNegativeInfinity(d));
}
}出力結果
上記のコードを実行すると、以下のような出力が得られます。
Double Value = NaN HashCode of Double Value = -524288 TypeCode of Double Value = Double Positive Infinity? = False Check whether the specified value is NaN? = True Does the value evaluate to negative infinity? = False
この例では、0.0/0の結果は「非数(NaN)」となるため、IsNegativeInfinity()メソッドはFalseを返しています。また、IsNaN()メソッドはTrueを返すことから、この値がNaNであることが確認できます。
使用例2:負の無限大の場合
次に、-1.0を0.0で割った結果(負の無限大)に対してこのメソッドを使用する例を見てみましょう。
using System;
public class Demo {
public static void Main(){
double d = -1.0/0.0;
Console.WriteLine("Double Value = "+d);
Console.WriteLine("HashCode of Double Value = "+d.GetHashCode());
TypeCode type = d.GetTypeCode();
Console.WriteLine("TypeCode of Double Value = "+type);
Console.WriteLine("Positive Infinity? = "+Double.IsInfinity(d));
Console.WriteLine("Check whether the specified value is NaN? = "+Double.IsNaN(d));
Console.WriteLine("Does the value evaluate to negative infinity? = "+Double.IsNegativeInfinity(d));
}
}出力結果
上記のコードを実行すると、以下のような出力が得られます。
Double Value = -∞ HashCode of Double Value = -1048576 TypeCode of Double Value = Double Positive Infinity? = True Check whether the specified value is NaN? = False Does the value evaluate to negative infinity? = True
この例では、-1.0/0.0の結果は負の無限大(-∞)となるため、IsNegativeInfinity()メソッドはTrueを返しています。なお、Double.IsInfinity()メソッドは正負どちらの無限大でもTrueを返す点に注意してください。
まとめ
- Double.IsNegativeInfinity()メソッドは、指定したdouble型の値が負の無限大かどうかを判定します。
- 負の無限大の場合は
true、NaNや通常の数値、正の無限大の場合はfalseを返します。 - 0による除算の結果などを安全にチェックし、エラー処理に活用できます。
-
C#のMath.IEEERemainder()メソッドとは?使い方と実行例を解説
C#のMath.IEEERemainder()メソッドは、指定した数値(被除数)を別の数値(除数)で除算した結果の剰余を、IEEE 754規格に基づいて返す静的メソッドです。通常の剰余演算子「%」とは計算結果が異なる場合がある点に注意しましょう。構文public static double IEEERemainder (double dividend, double divisor);パラメータdividend:被除数(割られる数)を表す倍精度浮動小数点数。divisor:除数(割る数)を表す倍精度浮動小数点数。戻り値dividend を divisor で割ったIEEE剰余を返します。この剰
-
C#のChar.IsWhiteSpace()メソッドとは?使い方とサンプルコードを解説
C#のChar.IsWhiteSpace()メソッドは、指定されたUnicode文字が空白文字(ホワイトスペース)であるかどうかを判定し、その結果をbool値で返す静的メソッドです。空白文字には、半角スペースだけでなく、タブ(\t)、改行(\n)、復帰(\r)なども含まれます。文字列の前処理や入力値のバリデーションなどで活用できる便利なメソッドです。構文public static bool IsWhiteSpace (char ch);パラメータ ch には、評価対象となるUnicode文字を指定します。戻り値は、その文字が空白文字であれば true、そうでなければ false となります。C