float (C# リファレンス)float (C# Reference)

float キーワードは、32 ビット浮動小数点値を格納する単純な型を示します。The float keyword signifies a simple type that stores 32-bit floating-point values. 次の表では、float 型の有効桁数とおおよその範囲を示します。The following table shows the precision and approximate range for the float type.

Type おおよその範囲Approximate range 有効桁数Precision .NET 型.NET type
float ±1.5 x 10−45 から ±3.4 x 1038±1.5 x 10−45 to ±3.4 x 1038 ~6 ~9 桁~6-9 digits System.Single


既定では、代入演算子の右辺にある実数値リテラルは、double として扱われます。By default, a real numeric literal on the right side of the assignment operator is treated as double. したがって、float 変数を初期化するには、次の例のように、サフィックス f または F を使います。Therefore, to initialize a float variable, use the suffix f or F, as in the following example:

float x = 3.5F;

前の宣言でサフィックスを使わないと、double 値を float 変数に保存しようとするため、コンパイル エラーが発生します。If you do not use the suffix in the previous declaration, you will get a compilation error because you are trying to store a double value into a float variable.


整数型と浮動小数点型を 1 つの式の中の混在させることができます。You can mix numeric integral types and floating-point types in an expression. この場合、整数型が浮動小数点型に変換されます。In this case, the integral types are converted to floating-point types. 式の評価は、次の規則に従って実行されます。The evaluation of the expression is performed according to the following rules:

  • 浮動小数点型の 1 つが double の場合、式は double または bool (リレーショナル比較または等価比較の場合) と評価されます。If one of the floating-point types is double, the expression evaluates to double, or to bool in relational comparisons or comparisons for equality.

  • 式に double 型が含まれない場合は、式は float または bool (リレーショナル比較または等価比較の場合) と評価されます。If there is no double type in the expression, the expression evaluates to float, or to bool in relational comparisons or comparisons for equality.

浮動小数点式は、次の値のセットを含むことができます。A floating-point expression can contain the following sets of values:

  • 正および負のゼロPositive and negative zero

  • 正および負の無限大Positive and negative infinity

  • Not-a-Number (NaN) 値Not-a-Number value (NaN)

  • ゼロ以外の値の有限のセットThe finite set of nonzero values

これらの値について詳しくは、IEEE の Web サイトで入手できるバイナリ浮動小数点演算の IEEE 標準に関する資料をご覧ください。For more information about these values, see IEEE Standard for Binary Floating-Point Arithmetic, available on the IEEE website.


次の例では、intshortfloat が算術式に含まれ、float の結果を提供します。In the following example, an int, a short, and a float are included in a mathematical expression giving a float result. (floatSystem.Single 型のエイリアスです。)式には double が存在しないことに注意してください。(Remember that float is an alias for the System.Single type.) Notice that there is no double in the expression.

class FloatTest 
    static void Main() 
        int x = 3;
        float y = 4.5f;
        short z = 5;
        var result = x * y / z;
        Console.WriteLine("The result is {0}", result);
        Type type = result.GetType();
        Console.WriteLine("result is of type {0}", type.ToString());
/* Output: 
  The result is 2.7
  result is of type System.Single //'float' is alias for 'Single'

C# 言語仕様C# language specification

詳細については、「C# 言語の仕様」を参照してください。For more information, see the C# Language Specification. 言語仕様は、C# の構文と使用法に関する信頼性のある情報源です。The language specification is the definitive source for C# syntax and usage.

関連項目See also