情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Single 構造体

2013/12/12

単精度浮動小数点数を表します。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public struct Single : IComparable, IComparable<float>, 
	IConvertible, IEquatable<float>, IFormattable

Single 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドCompareTo(Object)指定されたオブジェクトとこのインスタンスを比較して、指定されたオブジェクトの値に対してこのインスタンスの値が大きいか、小さいか、等しいかを示す整数を返します。
パブリック メソッドCompareTo(Single)指定した単精度浮動小数点数とこのインスタンスを比較し、このインスタンスの値が指定した単精度浮動小数点数の値よりも大きいか、小さいか、または同じかを示す整数を返します。
パブリック メソッドEquals(Object)指定されたオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (ValueType.Equals(Object) をオーバーライドします。)
パブリック メソッドEquals(Single)このインスタンスと指定した Single オブジェクトが同じ値を表しているかどうかを示す値を返します。
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetHashCodeこのインスタンスのハッシュ コードを返します。 (ValueType.GetHashCode() をオーバーライドします。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドGetTypeCodeSingle 値型の TypeCode を返します。
パブリック メソッド静的メンバーIsInfinity指定した数値が負または正の無限大と評価されるかどうかを示す値を返します。
パブリック メソッド静的メンバーIsNaN指定した数値が非数 (NaN) と評価されるかどうかを示す値を返します。
パブリック メソッド静的メンバーIsNegativeInfinity指定された数値が負の無限大に評価されるかどうかを示す値を返します。
パブリック メソッド静的メンバーIsPositiveInfinity指定した数値が正の無限大と評価されるかどうかを示す値を返します。
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッド静的メンバーParse(String)数値の文字列形式を、それと等価な単精度浮動小数点数に変換します。
パブリック メソッド静的メンバーParse(String, NumberStyles)指定したスタイルでの数値の文字列形式を、それと等価な単精度浮動小数点数に変換します。
パブリック メソッド静的メンバーParse(String, IFormatProvider)指定したカルチャに固有の書式による数値の文字列形式を、それと等価な単精度浮動小数点数に変換します。
パブリック メソッド静的メンバーParse(String, NumberStyles, IFormatProvider)指定したスタイルおよびカルチャに固有の書式による数値の文字列形式を、それと等価な単精度浮動小数点数に変換します。
パブリック メソッドToString()このインスタンスの数値を、それと等価の文字列形式に変換します。 (ValueType.ToString() をオーバーライドします。)
パブリック メソッドToString(IFormatProvider)指定されたカルチャ固有の書式情報を使用して、このインスタンスの数値を、それと等価の文字列形式に変換します。
パブリック メソッドToString(String)指定された書式を使用して、このインスタンスの数値を、それと等価の文字列形式に変換します。
パブリック メソッドToString(String, IFormatProvider)指定された書式およびカルチャ固有の書式情報を使用して、このインスタンスの数値を、それと等価の文字列形式に変換します。
パブリック メソッド静的メンバーTryParse(String, Single)数値の文字列形式を、それと等価な単精度浮動小数点数に変換します。リターン コードは、変換が成功したか失敗したかを示します。
パブリック メソッド静的メンバーTryParse(String, NumberStyles, IFormatProvider, Single)指定したスタイルおよびカルチャに固有の書式による数値の文字列形式を、それと等価な単精度浮動小数点数に変換します。リターン コードは、変換が成功したか失敗したかを示します。
このページのトップへ

  名前説明
パブリック演算子静的メンバーEquality指定した 2 つの Single 値が等しいかどうかを示す値を返します。
パブリック演算子静的メンバーGreaterThan指定した Single 値が、指定したもう 1 つの Single 値より大きいかどうかを示す値を返します。
パブリック演算子静的メンバーGreaterThanOrEqual指定した Single 値が、指定したもう 1 つの Single 値以上かどうかを示す値を返します。
パブリック演算子静的メンバーInequality指定した 2 つの Single 値が等しくないかどうかを示す値を返します。
パブリック演算子静的メンバーLessThan指定した Single 値が、指定したもう 1 つの Single 値より小さいかどうかを示す値を返します。
パブリック演算子静的メンバーLessThanOrEqual指定した Single 値が、指定したもう 1 つの Single 値以下かどうかを示す値を返します。
このページのトップへ

  名前説明
パブリック フィールド静的メンバーEpsilon0 より大きい最小の Single 値を表します。このフィールドは定数です。
パブリック フィールド静的メンバーMaxValueSingle の最大有効値を表します。このフィールドは定数です。
パブリック フィールド静的メンバーMinValueSingle の最小有効値を表します。このフィールドは定数です。
パブリック フィールド静的メンバーNaN非数 (NaN) を表します。このフィールドは定数です。
パブリック フィールド静的メンバーNegativeInfinity負の無限大を表します。このフィールドは定数です。
パブリック フィールド静的メンバーPositiveInfinity正の無限大を表します。このフィールドは定数です。
このページのトップへ

  名前説明
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToBooleanインフラストラクチャ。 このメンバーの説明については、IConvertible.ToBoolean のトピックを参照してください。
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToByteインフラストラクチャ。 このメンバーの説明については、IConvertible.ToByte のトピックを参照してください。
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToCharインフラストラクチャ。 この変換はサポートされません。このメソッドを使用しようとすると、InvalidCastException がスローされます。
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToDateTimeインフラストラクチャ。 この変換はサポートされません。このメソッドを使用しようとすると、InvalidCastException がスローされます。
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToDecimalインフラストラクチャ。 このメンバーの説明については、IConvertible.ToDecimal のトピックを参照してください。
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToDoubleインフラストラクチャ。 このメンバーの説明については、IConvertible.ToDouble のトピックを参照してください。
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToInt16インフラストラクチャ。 このメンバーの説明については、IConvertible.ToInt16 のトピックを参照してください。
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToInt32インフラストラクチャ。 このメンバーの説明については、IConvertible.ToInt32 のトピックを参照してください。
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToInt64インフラストラクチャ。 このメンバーの説明については、IConvertible.ToInt64 のトピックを参照してください。
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToSByteインフラストラクチャ。 このメンバーの説明については、IConvertible.ToSByte のトピックを参照してください。
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToSingleインフラストラクチャ。 このメンバーの説明については、IConvertible.ToSingle のトピックを参照してください。
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToTypeインフラストラクチャ。 このメンバーの説明については、IConvertible.ToType のトピックを参照してください。
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToUInt16インフラストラクチャ。 このメンバーの説明については、IConvertible.ToUInt16 のトピックを参照してください。
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToUInt32インフラストラクチャ。 このメンバーの説明については、IConvertible.ToUInt32 のトピックを参照してください。
明示的なインターフェイスの実装プライベート メソッドIConvertible.ToUInt64インフラストラクチャ。 このメンバーの説明については、IConvertible.ToUInt64 のトピックを参照してください。
このページのトップへ

Single 値型は、-3.402823e38 から +3.402823e38 までの単精度 32 ビット数と、正の 0 または負の 0、PositiveInfinityNegativeInfinity、および非数 (NaN) を表します。

Single は、2 進の浮動小数点演算に関する IEC 60559:1989 (IEEE 754) 規格に準拠しています。

Single は、この型の複数のインスタンスを比較したり、インスタンスの値を文字列形式に変換したり、数値の文字列形式をこの型のインスタンスに変換するためのメソッドを提供します。

浮動小数点数の使用

二項演算の実行時に、一方のオペランドが Single または Double の浮動小数点型である場合、もう一方のオペランドは整数型または浮動小数点型であることが必要です。この演算は、次のように評価されます。

  • 一方のオペランドが整数型の場合、そのオペランドはもう一方のオペランドに合わせて浮動小数点型に変換されます。

  • 次に、一方のオペランドが Double である場合には、もう一方のオペランドが Double に変換され、演算は少なくとも Double の範囲および精度を使用して実行されます。数値演算の場合、結果の型は Double になります。

  • それ以外の場合、演算は少なくとも Single 型の範囲および精度を使用して実行され、数値演算の結果の型は Single になります。

代入演算子を含む浮動小数点演算子は、例外をスローしません。その代わり、例外状況での浮動小数点演算の結果は、次に説明するように 0、無限大、または NaN になります。

  • 浮動小数点演算の結果が変換先の形式に対して小さすぎる場合、演算結果は 0 になります。

  • 浮動小数点演算の結果の絶対値が変換先形式に対して大きすぎる場合、演算結果は符号に応じて PositiveInfinity または NegativeInfinity になります。

  • 浮動小数点演算が無効な場合、演算結果は NaN になります。

  • 浮動小数点演算の一方または両方のオペランドが NaN の場合、演算結果は NaN になります。

浮動小数点値と精度の低下

浮動小数点数は 10 進数の概数を表すことができるだけであること、および、浮動小数点数の有効桁数によって数値が表す 10 進数の概数の精度が決定されることに注意してください。既定では、Single 値に含まれる有効桁数は 7 桁だけですが、内部的には最大 9 桁が保持されています。浮動小数点数の桁数から、複数の結果が生成されます。

  • 特定の桁数において等しい 2 つの浮動小数点数が、最下位バイトが異なっているために、等価でないと評価される場合があります。

  • 浮動小数点数を使用する数値演算または比較演算において、10 進数が使用された場合は、浮動小数点数が表す概数の 10 進数が完全には一致しないために同じ結果が生成されないことがあります。

  • 浮動小数点数が使用されると、値がラウンドトリップされない場合があります。値がラウンドトリップされるというのは、演算で元の浮動小数点数が別の形式に変換され、逆の演算で変換された形式から浮動小数点数に戻されて、最終の浮動小数点数が元の浮動小数点数と等価である場合です。最下位の桁数が 1 つ以上失われるか、または変更された場合は、ラウンドトリップが失敗します。

インターフェイスの実装

この型は、IComparableIComparable<T>IFormattableIConvertible、および IEquatable<T> の各インターフェイスを実装します。この型の明示的な IConvertible インターフェイス メンバーの実装の代わりに、Convert クラスを使用します。

Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型のすべてのメンバーはスレッド セーフです。インスタンスの状態を変更するように見えるメンバーは、実際には新しい値を使用して初期化された新しいインスタンスを返します。他の型と同じように、確実なスレッド セーフを実現するには、この型のインスタンスを含む共有変数の読み取りと書き込みをロックによって保護する必要があります。

リファレンス

表示: