Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

float

The float keyword denotes a simple type that stores 32-bit floating-point values. The following table shows the precision and approximate range for the float type.

Type Approximate range Precision .NET Framework type
float ±1.5 × 10−45 to ±3.4 × 1038 7 digits System.Single

Literals

By default, a real numeric literal on the right-hand side of the assignment operator is treated as double. Therefore, to initialize a float variable use the suffix f or F, for example:

float x = 3.5F;

If you don't use the suffix in the previous declaration, you will get a compilation error because you are attempting to store a double value into a float variable.

Conversions

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:

  • If one of the floating-point types is double, the expression evaluates to double (or bool in the case of relational or Boolean expressions).
  • If there is no double type in the expression, the expression evaluates to float (or bool in the case of relational or Boolean expressions).

A floating-point expression can contain the following sets of values:

  • Positive and negative zero
  • Positive and negative infinity
  • Not-a-Number value (NaN)
  • The finite set of nonzero values

For more information on these values, refer to IEEE Standard for Binary Floating-Point Arithmetic, available on the Web site http://www.ieee.org/.

For more information on floating-point value sets, see 4.1.5 Floating point types.

Example

In the following example, an int, a short, and a float are included in a mathematical expression giving a float result (notice that there is no double in the expression).

// keyword_float.cs
// Mixing types in expressions
using System;
class MixedTypes 
{
   public static void Main() 
   {
      int x = 3;
      float y = 4.5f;
      short z = 5;
      Console.WriteLine("The result is {0}", x*y/z); 
   }
}

Output

The result is 2.7

See Also

C# Keywords | Default Values Table | Built-in Types Table | Floating-Point Types Table | Implicit Numeric Conversions Table | Explicit Numeric Conversions Table | Single Structure

Show:
© 2015 Microsoft