﻿<?xml version="1.0" encoding="utf-8"?><Type Name="Single" FullName="System.Single" FullNameSP="System_Single" Maintainer="ecma"><TypeSignature Language="ILASM" Value=".class public sequential sealed serializable Single extends System.ValueType implements System.IComparable, System.IFormattable" /><TypeSignature Language="C#" Value="public struct Single : IComparable, IComparable&lt;float&gt;, IConvertible, IEquatable&lt;float&gt;, IFormattable" /><TypeSignature Language="ILAsm" Value=".class public sequential ansi serializable sealed beforefieldinit float32 extends System.ValueType implements class System.IComparable, class System.IComparable`1&lt;float32&gt;, class System.IConvertible, class System.IEquatable`1&lt;float32&gt;, class System.IFormattable" /><MemberOfLibrary>ExtendedNumerics</MemberOfLibrary><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement><Base><BaseTypeName>System.ValueType</BaseTypeName></Base><Interfaces><Interface><InterfaceName>System.IComparable</InterfaceName></Interface><Interface><InterfaceName>System.IComparable&lt;System.Single&gt;</InterfaceName></Interface><Interface><InterfaceName>System.IConvertible</InterfaceName></Interface><Interface><InterfaceName>System.IEquatable&lt;System.Single&gt;</InterfaceName></Interface><Interface><InterfaceName>System.IFormattable</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.Single" /> value type represents a single-precision 32-bit number with values ranging from negative 3.402823e38 to positive 3.402823e38, as well as positive or negative zero, <see cref="F:System.Single.PositiveInfinity" />, <see cref="F:System.Single.NegativeInfinity" />, and not a number (<see cref="F:System.Single.NaN" />). It is intended to represent values that are extremely large (such as distances between planets or galaxies) or extremely small (such as the molecular mass of a substance in kilograms) and that often are imprecise (such as the distance from earth to another solar system). The <see cref="T:System.Single" /> type complies with the IEC 60559:1989 (IEEE 754) standard for binary floating-point arithmetic.</para><para>This topic consists of the following sections:</para><list type="bullet"><item><para><format type="text/html"><a href="#Precision">Floating-point representation and precision</a></format></para></item><item><para><format type="text/html"><a href="#Equality">Testing for equality</a></format></para></item><item><para><format type="text/html"><a href="#Exceptions">Floating-point values and exceptions</a></format></para></item><item><para><format type="text/html"><a href="#Functionality">Floating-point functionality</a></format></para></item></list><para><see cref="T:System.Single" /> provides methods to compare instances of this type, to convert the value of an instance to its string representation, and to convert the string representation of a number to an instance of this type. For information about how format specification codes control the string representation of value types, see <format type="text/html"><a href="0d1364da-5b30-4d42-8e6b-03378343343f">Formatting Types</a></format>, <format type="text/html"><a href="580e57eb-ac47-4ffd-bccd-3a1637c2f467">Standard Numeric Format Strings</a></format>, and <format type="text/html"><a href="6f74fd32-6c6b-48ed-8241-3c2b86dea5f4">Custom Numeric Format Strings</a></format>. </para><format type="text/html"><a href="#Precision" /></format><format type="text/html"><h2>Floating-point representation and precision</h2></format><para>The <see cref="T:System.Single" /> data type stores single-precision floating-point values in a 32-bit binary format, as shown in the following table: </para><list type="table"><listheader><item><term><para>Part</para></term><description><para>Bits</para></description></item></listheader><item><term><para>Significand or mantissa</para></term><description><para>0-22</para></description></item><item><term><para>Exponent</para></term><description><para>23-30</para></description></item><item><term><para>Sign (0 = positive, 1 = negative)</para></term><description><para>31</para></description></item></list><para>Just as decimal fractions are unable to precisely represent some fractional values (such as 1/3 or <see cref="F:System.Math.PI" />), binary fractions are unable to represent some fractional values. For example, 2/10, which is represented precisely by .2 as a decimal fraction, is represented by .0011111001001100 as a binary fraction, with the pattern "1100" repeating to infinity. In this case, the floating-point value provides an imprecise representation of the number that it represents. Performing additional mathematical operations on the original floating-point value often increases its lack of precision. For example, if you compare the results of multiplying .3 by 10 and adding .3 to .3 nine times, you will see that addition produces the less precise result, because it involves eight more operations than multiplication. Note that this disparity is apparent only if you display the two <see cref="T:System.Single" /> values by using the "R" <format type="text/html"><a href="580e57eb-ac47-4ffd-bccd-3a1637c2f467">standard numeric format string</a></format>, which, if necessary, displays all 9 digits of precision supported by the <see cref="T:System.Single" /> type.</para><para>code reference: System.Single.Structure#3</para><para>Because some numbers cannot be represented exactly as fractional binary values, floating-point numbers can only approximate real numbers.</para><para>All floating-point numbers have a limited number of significant digits, which also determines how accurately a floating-point value approximates a real number. A <see cref="T:System.Single" /> value has up to 7 decimal digits of precision, although a maximum of 9 digits is maintained internally. This means that some floating-point operations may lack the precision to change a floating-point value. The following example defines a large single-precision floating-point value, and then adds the product of <see cref="F:System.Single.Epsilon" /> and one quadrillion to it. However, the product is too small to modify the original floating-point value. Its least significant digit is thousandths, whereas the most significant digit in the product is 1<superscript>-312</superscript>. </para><para>code reference: System.Single.Structure#4</para><para>The limited precision of a floating-point number has several consequences:</para><list type="bullet"><item><para>Two floating-point numbers that appear equal for a particular precision might not compare equal because their least significant digits are different. In the following example, a series of numbers are added together, and their total is compared with their expected total. Although the two values appear to be the same, a call to the Equals method indicates that they are not.</para><para>code reference: System.Single.Structure#6</para><para>If you change the format items in the <see cref="M:System.Console.WriteLine(System.String,System.Object,System.Object)" /> statement from {0} and {1} to {0:R} and {1:R} to display all significant digits of the two <see cref="T:System.Single" /> values, it is clear that the two values are unequal because of a loss of precision during the addition operations. In this case, the issue can be resolved by calling the <see cref="M:System.Math.Round(System.Double,System.Int32)" /> method to round the <see cref="T:System.Single" /> values to the desired precision before performing the comparison. </para></item><item><para>A mathematical or comparison operation that uses a floating-point number might not yield the same result if a decimal number is used, because the binary floating-point number might not equal the decimal number. A previous example illustrated this by displaying the result of multiplying .3 by 10 and adding .3 to .3 nine times. </para><para>When accuracy in numeric operations with fractional values is important, use the <see cref="T:System.Decimal" /> type instead of the <see cref="T:System.Single" /> type. When accuracy in numeric operations with integral values beyond the range of the <see cref="T:System.Int64" /> or <see cref="T:System.UInt64" /> types is important, use the <see cref="T:System.Numerics.BigInteger" /> type. </para></item><item><para>A value might not round-trip if a floating-point number is involved. A value is said to round-trip if an operation converts an original floating-point number to another form, an inverse operation transforms the converted form back to a floating-point number, and the final floating-point number is not equal to the original floating-point number. The round trip might fail because one or more least significant digits are lost or changed in a conversion. In the following example, three <see cref="T:System.Single" /> values are converted to strings and saved in a file. As the output shows, although the values appear to be identical, the restored values are not equal to the original values. </para><para>code reference: System.Single.Structure#7</para><para>In this case, the values can be successfully round-tripped by using the "R" <format type="text/html"><a href="580e57eb-ac47-4ffd-bccd-3a1637c2f467">standard numeric format string</a></format> to preserve the full precision of <see cref="T:System.Single" /> values, as the following example shows.</para><para>code reference: System.Single.Structure#8</para></item><item><para><see cref="T:System.Single" /> values have less precision than <see cref="T:System.Double" /> values. A <see cref="T:System.Single" /> value that is converted to a seemingly equivalent <see cref="T:System.Double" /> often does not equal the <see cref="T:System.Double" /> value because of differences in precision. In the following example, the result of identical division operations is assigned to a <see cref="T:System.Double" /> value and a <see cref="T:System.Single" /> value. After the <see cref="T:System.Single" /> value is cast to a <see cref="T:System.Double" />, a comparison of the two values shows that they are unequal. </para><para>code reference: System.Double.Structure#5</para><para>To avoid this problem, either use the <see cref="T:System.Double" /> data type in place of the <see cref="T:System.Single" /> data type, or use the <see cref="M:System.Math.Round(System.Double)" /> method so that both values have the same precision. </para></item></list><format type="text/html"><a href="#Equality" /></format><format type="text/html"><h2>Testing for equality</h2></format><para>To be considered equal, two <see cref="T:System.Single" /> values must represent identical values. However, because of differences in precision between values, or because of a loss of precision by one or both values, floating-point values that are expected to be identical often turn out to be unequal due to differences in their least significant digits. As a result, calls to the <see cref="M:System.Single.Equals(System.Single)" /> method to determine whether two values are equal, or calls to the <see cref="M:System.Single.CompareTo(System.Single)" /> method to determine the relationship between two <see cref="T:System.Single" /> values, often yield unexpected results. This is evident in the following example, where two apparently equal <see cref="T:System.Single" /> values turn out to be unequal, because the first value has 7 digits of precision, whereas the second value has 9. </para><para>code reference: System.Single.Structure#9</para><para>Calculated values that follow different code paths and that are manipulated in different ways often prove to be unequal. In the following example, one <see cref="T:System.Single" /> value is squared, and then the square root is calculated to restore the original value. A second <see cref="T:System.Single" /> is multiplied by 3.51 and squared before the square root of the result is divided by 3.51 to restore the original value. Although the two values appear to be identical, a call to the <see cref="M:System.Single.Equals(System.Single)" /> method indicates that they are not equal. Using the "R" standard format string to return a result string that displays all the significant digits of each <see cref="T:System.Single" /> value shows that the second value is .0000000000001 less than the first. </para><para>code reference: System.Single.Structure#10</para><para>In cases where a loss of precision is likely to affect the result of a comparison, you can use the following techniques instead of calling the <see cref="M:System.Single.Equals(System.Single)" /> or <see cref="M:System.Single.CompareTo(System.Single)" /> method: </para><list type="bullet"><item><para>Call the <see cref="M:System.Math.Round(System.Double)" /> method to ensure that both values have the same precision. The following example modifies a previous example to use this approach so that two fractional values are equivalent. </para><para>code reference: System.Single.Structure#11</para><para>Note that the problem of precision still applies to rounding of midpoint values. For more information, see the <see cref="M:System.Math.Round(System.Double,System.Int32,System.MidpointRounding)" /> method. </para></item><item><para>Test for approximate equality instead of equality. This technique requires that you define either an absolute amount by which the two values can differ but still be equal, or that you define a relative amount by which the smaller value can diverge from the larger value. </para><block subset="none" type="note"><para><see cref="F:System.Single.Epsilon" /> is sometimes used as an absolute measure of the distance between two <see cref="T:System.Single" /> values when testing for equality.  However, <see cref="F:System.Single.Epsilon" /> measures the smallest possible value that can be added to, or subtracted from, a <see cref="T:System.Single" /> whose value is zero. For most positive and negative <see cref="T:System.Single" /> values, the value of <see cref="F:System.Single.Epsilon" /> is too small to be detected. Therefore, except for values that are zero, we do not recommend its use in tests for equality.  </para></block><para>The following example uses the latter approach to define an IsApproximatelyEqual method that tests the relative difference between two values. It also contrasts the result of calls to the IsApproximatelyEqual method and the <see cref="M:System.Single.Equals(System.Single)" /> method.</para><para>code reference: System.Single.Structure#12</para></item></list><format type="text/html"><a href="#Exceptions" /></format><format type="text/html"><h2>Floating-point values and exceptions</h2></format><para>Operations with floating-point values do not throw exceptions, unlike operations with integral types, which throw exceptions in cases of illegal operations such as division by zero or overflow.  Instead, in these situations, the result of a floating-point operation is zero, positive infinity, negative infinity, or not a number (NaN):</para><list type="bullet"><item><para>If the result of a floating-point operation is too small for the destination format, the result is zero. This can occur when two very small floating-point numbers are multiplied, as the following example shows. </para><para>code reference: System.Single.Structure#1</para></item><item><para>If the magnitude of the result of a floating-point operation exceeds the range of the destination format, the result of the operation is <see cref="F:System.Single.PositiveInfinity" /> or <see cref="F:System.Single.NegativeInfinity" />, as appropriate for the sign of the result. The result of an operation that overflows <see cref="F:System.Single.MaxValue" /> is <see cref="F:System.Single.PositiveInfinity" />, and the result of an operation that overflows <see cref="F:System.Single.MinValue" /> is <see cref="F:System.Single.NegativeInfinity" />, as the following example shows.</para><para>code reference: System.Single.Structure#2</para><para><see cref="F:System.Single.PositiveInfinity" /> also results from a division by zero with a positive dividend, and <see cref="F:System.Single.NegativeInfinity" /> results from a division by zero with a negative dividend. </para></item><item><para>If a floating-point operation is invalid, the result of the operation is <see cref="F:System.Single.NaN" />. For example, <see cref="F:System.Single.NaN" /> results from the following operations:</para><list type="bullet"><item><para>Division by zero with a dividend of zero. Note that other cases of division by zero result in either <see cref="F:System.Single.PositiveInfinity" /> or <see cref="F:System.Single.NegativeInfinity" />. </para></item><item><para>Any floating-point operation with invalid input. For example, attempting to find the square root of a negative value returns <see cref="F:System.Single.NaN" />. </para></item><item><para>Any operation with an argument whose value is <see cref="F:System.Single.NaN" />. </para></item></list></item></list><format type="text/html"><a href="#Functionality" /></format><format type="text/html"><h2>Floating-point functionality</h2></format><para>The <see cref="T:System.Single" /> structure and related types provide methods to perform the following categories of operations: </para><list type="bullet"><item><para>Comparison of values. You can call the <see cref="M:System.Single.Equals(System.Single)" /> method to determine whether two <see cref="T:System.Single" /> values are equal, or the <see cref="M:System.Single.CompareTo(System.Single)" /> method to determine the relationship between two values. </para><para>The <see cref="T:System.Single" /> structure also supports a complete set of comparison operators. For example, you can test for equality or inequality, or determine whether one value is greater than or equal to another value. If one of the operands is a <see cref="T:System.Double" />, the <see cref="T:System.Single" /> value is converted to a <see cref="T:System.Double" /> before performing the comparison. If one of the operands is an integral type, it is converted to a <see cref="T:System.Single" /> before performing the comparison. Although these are widening conversions, they may involve a loss of precision. </para><block subset="none" type="note"><para>Because of differences in precision, two <see cref="T:System.Single" /> values that you expect to be equal may turn out to be unequal, which affects the result of the comparison. See the <format type="text/html"><a href="#Equality">Testing for equality</a></format> section for more information about comparing two <see cref="T:System.Single" /> values. </para></block><para>You can also call the <see cref="M:System.Single.IsNaN(System.Single)" />, <see cref="M:System.Single.IsInfinity(System.Single)" />, <see cref="M:System.Single.IsPositiveInfinity(System.Single)" />, and <see cref="M:System.Single.IsNegativeInfinity(System.Single)" /> methods to test for these special values.</para></item><item><para>Mathematical operations. Common arithmetic operations such as addition, subtraction, multiplication, and division are implemented by language compilers and Common Intermediate Language (CIL) instructions rather than by <see cref="T:System.Single" /> methods. If the other operand in a mathematical operation is a <see cref="T:System.Double" />, the <see cref="T:System.Single" /> is converted to a <see cref="T:System.Double" /> before performing the operation, and the result of the operation is also a <see cref="T:System.Double" /> value. If the other operand is an integral type, it is converted to a <see cref="T:System.Single" /> before performing the operation, and the result of the operation is also a <see cref="T:System.Single" /> value. </para><para>You can perform other mathematical operations by calling static (Shared in Visual Basic) methods in the <see cref="T:System.Math" /> class. These include additional methods commonly used for arithmetic (such as <see cref="M:System.Math.Abs(System.Double)" />, <see cref="M:System.Math.Sign(System.Double)" />, and <see cref="M:System.Math.Sqrt(System.Double)" />), geometry (such as <see cref="M:System.Math.Cos(System.Double)" /> and <see cref="M:System.Math.Sin(System.Double)" />), and calculus (such as <see cref="M:System.Math.Log(System.Double)" />).  In all cases, the <see cref="T:System.Single" /> value is converted to a <see cref="T:System.Double" />. </para><para>You can also manipulate the individual bits in a <see cref="T:System.Single" /> value. The <see cref="M:System.BitConverter.GetBytes(System.Single)" /> method returns its bit pattern in a byte array.  By passing that byte array to the <see cref="M:System.BitConverter.ToInt32(System.Byte[],System.Int32)" /> method, you can also preserve the <see cref="T:System.Single" /> value's bit pattern in a 32-bit integer. </para></item><item><para>Rounding. Rounding is often used as a technique for reducing the impact of differences between values caused by problems of floating-point representation and precision. You can round a <see cref="T:System.Single" /> value by calling the <see cref="M:System.Math.Round(System.Double)" /> method. However, note  that the <see cref="T:System.Single" /> value is converted to a <see cref="T:System.Double" /> before the method is called, and the conversion can involve a loss of precision. </para></item><item><para>Formatting. You can convert a <see cref="T:System.Single" /> value to its string representation by calling the <see cref="M:System.Single.ToString" /> method or by using the <format type="text/html"><a href="87b7d528-73f6-43c6-b71a-f23043039a49">composite formatting</a></format> feature. For information about how format strings control the string representation of floating-point values, see the <format type="text/html"><a href="580e57eb-ac47-4ffd-bccd-3a1637c2f467">Standard Numeric Format Strings</a></format> and <format type="text/html"><a href="6f74fd32-6c6b-48ed-8241-3c2b86dea5f4">Custom Numeric Format Strings</a></format> topics. </para></item><item><para>Parsing strings. You can convert the string representation of a floating-point value to a <see cref="T:System.Single" /> value by calling the <see cref="M:System.Single.Parse(System.String)" /> or <see cref="M:System.Single.TryParse(System.String,System.Single@)" /> method. If the parse operation fails, the <see cref="M:System.Single.Parse(System.String)" /> method throws an exception, whereas the <see cref="M:System.Single.TryParse(System.String,System.Single@)" /> method returns false.</para></item><item><para>Type conversion. The <see cref="T:System.Single" /> structure provides an explicit interface implementation for the <see cref="T:System.IConvertible" /> interface, which supports conversion between any two standard .NET Framework data types. Language compilers also support the implicit conversion of values for all other standard numeric types except for the conversion of <see cref="T:System.Double" /> to <see cref="T:System.Single" /> values. Conversion of a value of any standard numeric type other than a <see cref="T:System.Double" /> to a <see cref="T:System.Single" /> is a widening conversion and does not require the use of a casting operator or conversion method. </para><para>However, conversion of 32-bit and 64-bit integer values can involve a loss of precision. The following table lists the differences in precision for 32-bit, 64-bit, and <see cref="T:System.Double" /> types:</para><list type="table"><listheader><item><term><para>Type</para></term><description><para>Maximum precision (in decimal digits) </para></description><description><para>Internal precision (in decimal digits) </para></description></item></listheader><item><term><para><see cref="T:System.Double" /></para></term><description><para>15</para></description><description><para>17</para></description></item><item><term><para><see cref="T:System.Int32" /> and <see cref="T:System.UInt32" /></para></term><description><para>10</para></description><description><para>10</para></description></item><item><term><para><see cref="T:System.Int64" /> and <see cref="T:System.UInt64" /></para></term><description><para>19 </para></description><description><para>19 </para></description></item><item><term><para><see cref="T:System.Single" /></para></term><description><para>7 </para></description><description><para>9 </para></description></item></list><para>The problem of precision most frequently affects <see cref="T:System.Single" /> values that are converted to <see cref="T:System.Double" /> values. In the following example, two values produced by identical division operations are unequal, because one of the values is a single-precision floating point value that is converted to a <see cref="T:System.Double" />.  </para><para>code reference: System.Single.Structure#5</para></item></list></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Represents a single-precision floating-point number.</para></summary></Docs><Members><Member MemberName="CompareTo"><MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)" /><MemberSignature Language="C#" Value="public int CompareTo (object value);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int32 CompareTo(object value) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Parameters><Parameter Name="value" Type="System.Object" /></Parameters><Docs><exception cref="T:System.ArgumentException"><paramref name="value" /> is not a null reference and is not of type <see cref="T:System.Single" />.</exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <paramref name="value" /> parameter must be null or an instance of <see cref="T:System.Single" />; otherwise, an exception is thrown. Any instance of <see cref="T:System.Single" />, regardless of its value, is considered greater than null.</para><para>Values must be identical to be considered equal. Particularly when floating-point values depend on multiple mathematical operations, it is common for them to lose precision and for their values to be nearly identical except for their least significant digits. Because of this, the return value of the <see cref="M:System.Single.CompareTo(System.Object)" /> method may seem surprising at times. For example, multiplication by a particular value followed by division by the same value should produce the original value, but in the following example, the computed value turns out to be greater than the original value. Showing all significant digits of the two values by using the "R" <format type="text/html"><a href="580e57eb-ac47-4ffd-bccd-3a1637c2f467">standard numeric format string</a></format> indicates that the computed value differs from the original value in its least significant digits. For information about handling such comparisons, see the Remarks section of the <see cref="M:System.Single.Equals(System.Single)" /> method. </para><para>code reference: System.Single.CompareTo#2</para><para>This method is implemented to support the <see cref="T:System.IComparable" /> interface. Note that, although a <see cref="F:System.Single.NaN" /> is not considered to be equal to another <see cref="F:System.Single.NaN" /> (even itself), the <see cref="T:System.IComparable" /> interface requires that A.CompareTo(A) return zero.</para><format type="text/html"><h2>Precision in Comparisons</h2></format><para>The precision of floating-point numbers beyond the documented precision is specific to the implementation and version of the .NET Framework. Consequently, a comparison of two particular numbers might change between versions of the .NET Framework because the precision of the numbers' internal representation might change.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Compares this instance to a specified object and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the specified object.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A signed number indicating the relative values of this instance and <paramref name="value" />.</para><list type="table"><listheader><item><term><para>Return Value </para></term><description><para>Description </para></description></item></listheader><item><term><para>Less than zero </para></term><description><para>This instance is less than <paramref name="value" />.</para><para>-or- </para><para>This instance is not a number (<see cref="F:System.Single.NaN" />) and <paramref name="value" /> is a number. </para></description></item><item><term><para>Zero </para></term><description><para>This instance is equal to <paramref name="value" />.</para><para>-or- </para><para>This instance and value are both not a number (<see cref="F:System.Single.NaN" />), <see cref="F:System.Single.PositiveInfinity" />, or <see cref="F:System.Single.NegativeInfinity" />. </para></description></item><item><term><para>Greater than zero </para></term><description><para>This instance is greater than <paramref name="value" />.</para><para>-or- </para><para>This instance is a number and <paramref name="value" /> is not a number (<see cref="F:System.Single.NaN" />).</para><para>-or- </para><para><paramref name="value" /> is null. </para></description></item></list></returns><param name="value"><attribution license="cc4" from="Microsoft" modified="false" />An object to compare, or null. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="CompareTo"><MemberSignature Language="C#" Value="public int CompareTo (float value);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int32 CompareTo(float32 value) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Parameters><Parameter Name="value" Type="System.Single" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Values must be identical to be considered equal. It is common for floating-point values to lose precision and to become nearly identical except for their least significant digits, especially when the values depend on multiple mathematical operations. Because of this, the return value of the <see cref="M:System.Single.CompareTo(System.Single)" /> method at times may seem surprising. For example, multiplication by any value followed by division by the same value should produce the original value. However, in the following example, the computed value turns out to be greater than the original value. Showing all significant digits of the two values by using the "R" <format type="text/html"><a href="580e57eb-ac47-4ffd-bccd-3a1637c2f467">standard numeric format string</a></format> indicates that the computed value differs from the original value in its least significant digits. For information about handling such comparisons, see the Remarks section of the <see cref="M:System.Single.Equals(System.Single)" /> method. </para><para>code reference: System.Single.CompareTo#1</para><para>This method implements the <see cref="T:System.IComparable`1" /> interface and performs slightly better than the <see cref="M:System.Single.CompareTo(System.Object)" /> method because it does not have to convert the <paramref name="value" /> parameter to an object.</para><para>Note that, although an object whose value is <see cref="F:System.Single.NaN" /> is not considered equal to another object whose value is <see cref="F:System.Single.NaN" /> (even itself), the <see cref="T:System.IComparable`1" /> interface requires that A.CompareTo(A) return zero.</para><format type="text/html"><h2>Widening Conversions</h2></format><para>Depending on your programming language, it might be possible to code a <see cref="Overload:System.Single.CompareTo" /> method where the parameter type has fewer bits (is narrower) than the instance type. This is possible because some programming languages perform an implicit widening conversion that represents the parameter as a type with as many bits as the instance.</para><para>For example, suppose the instance type is <see cref="T:System.Single" /> and the parameter type is <see cref="T:System.Int32" />. The Microsoft C# compiler generates instructions to represent the value of the parameter as a <see cref="T:System.Single" /> object, then generates a <see cref="M:System.Single.CompareTo(System.Single)" /> method that compares the values of the instance and the widened representation of the parameter.</para><para>Consult your programming language's documentation to determine if its compiler performs implicit widening conversions of numeric types. For more information, see the <format type="text/html"><a href="0ea65c59-85eb-4a52-94ca-c36d3bd13058">Type Conversion Tables</a></format> topic.</para><format type="text/html"><h2>Precision in Comparisons</h2></format><para>The precision of floating-point numbers beyond the documented precision is specific to the implementation and version of the .NET Framework. Consequently, a comparison of two particular numbers might change between versions of the .NET Framework because the precision of the numbers' internal representation might change.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Compares this instance to a specified single-precision floating-point number and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the specified single-precision floating-point number.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A signed number indicating the relative values of this instance and <paramref name="value" />.</para><list type="table"><listheader><item><term><para>Return Value </para></term><description><para>Description </para></description></item></listheader><item><term><para>Less than zero </para></term><description><para>This instance is less than <paramref name="value" />.</para><para>-or- </para><para>This instance is not a number (<see cref="F:System.Single.NaN" />) and <paramref name="value" /> is a number. </para></description></item><item><term><para>Zero </para></term><description><para>This instance is equal to <paramref name="value" />.</para><para>-or- </para><para>Both this instance and <paramref name="value" /> are not a number (<see cref="F:System.Single.NaN" />), <see cref="F:System.Single.PositiveInfinity" />, or <see cref="F:System.Single.NegativeInfinity" />. </para></description></item><item><term><para>Greater than zero </para></term><description><para>This instance is greater than <paramref name="value" />.</para><para>-or- </para><para>This instance is a number and <paramref name="value" /> is not a number (<see cref="F:System.Single.NaN" />). </para></description></item></list></returns><param name="value"><attribution license="cc4" from="Microsoft" modified="false" />A single-precision floating-point number to compare. </param></Docs></Member><Member MemberName="Epsilon"><MemberSignature Language="ILASM" Value=".field public static literal float32 Epsilon = (float)1.401298E-45" /><MemberSignature Language="C#" Value="public const float Epsilon = 1.401298E-45;" /><MemberSignature Language="ILAsm" Value=".field public static literal float32 Epsilon = float32(1.401298E-45)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Single</ReturnType></ReturnValue><Parameters /><MemberValue>1.401298E-45</MemberValue><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the <see cref="F:System.Single.Epsilon" /> property reflects the smallest positive <see cref="T:System.Single" /> value that is significant in numeric operations or comparisons when the value of the <see cref="T:System.Single" /> instance is zero. For example, the following code shows that zero and <see cref="F:System.Single.Epsilon" /> are considered to be unequal values, whereas zero and half the value of <see cref="F:System.Single.Epsilon" /> are considered to be equal.</para><para>code reference: System.Single.Epsilon#5</para><para>More precisely, the single-precision floating-point format consists of a sign, a 23-bit mantissa or significand, and an 8-bit exponent. As the following example shows, zero has an exponent of -126 and a mantissa of 0. <see cref="F:System.Single.Epsilon" /> has an exponent of -126 and a mantissa of 1. This means that <see cref="F:System.Single.Epsilon" /> is the smallest positive <see cref="T:System.Single" /> value that is greater than zero and represents the smallest possible value and the smallest possible increment for a <see cref="T:System.Single" /> whose exponent is -126. </para><para>code reference: System.Single.Epsilon#6</para><para>However, the <see cref="F:System.Single.Epsilon" /> property is not a general measure of precision of the <see cref="T:System.Single" /> type; it applies only to <see cref="T:System.Single" /> instances that have a value of zero. </para><block subset="none" type="note"><para>The value of the <see cref="F:System.Single.Epsilon" /> property is not equivalent to machine epsilon, which represents the upper bound of the relative error due to rounding in floating-point arithmetic.</para></block><para>The value of this constant is 1.4e-45. </para><para>Two apparently equivalent floating-point numbers might not compare equal because of differences in their least significant digits. For example, the C# expression, (float)1/3 == (float)0.33333, does not compare equal because the division operation on the left side has maximum precision while the constant on the right side is precise only to the specified digits. If you create a custom algorithm that determines whether two floating-point numbers can be considered equal, you must use a value that is greater than the <see cref="F:System.Single.Epsilon" /> constant to establish the acceptable absolute margin of difference for the two values to be considered equal. (Typically, that margin of difference is many times greater than <see cref="F:System.Single.Epsilon" />.) </para><format type="text/html"><h2>Platform Notes</h2></format><para>On ARM systems, the value of the <see cref="F:System.Single.Epsilon" /> constant is too small to be detected, so it equates to zero. You can define an alternative epsilon value that equals 1.175494351E-38 instead. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Represents the smallest positive <see cref="T:System.Single" /> value that is greater than zero. This field is constant.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="Equals"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)" /><MemberSignature Language="C#" Value="public override bool Equals (object obj);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object obj) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="obj" Type="System.Object" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Single.Equals(System.Single)" /> method should be used with caution, because two apparently equivalent values can be unequal due to the differing precision of the two values. The following example reports that the <see cref="T:System.Single" /> value .3333 and the <see cref="T:System.Single" /> returned by dividing 1 by 3 are unequal.</para><para>code reference: System.Single.Epsilon#3</para><para>Rather than comparing for equality, one recommended technique involves defining an acceptable margin of difference between two values (such as .01% of one of the values). If the absolute value of the difference between the two values is less than or equal to that margin, the difference is likely to be due to differences in precision and, therefore, the values are likely to be equal. The following example uses this technique to compare .33333 and 1/3, the two <see cref="T:System.Single" /> values that the previous code example found to be unequal.</para><para>code reference: System.Single.Epsilon#4</para><para>In this case, the values are equal.</para><block subset="none" type="note"><para>Because <see cref="F:System.Single.Epsilon" /> defines the minimum expression of a positive value whose range is near zero, the margin of difference must be greater than <see cref="F:System.Single.Epsilon" />. Typically, it is many times greater than <see cref="F:System.Single.Epsilon" />.</para></block><para>The precision of floating-point numbers beyond the documented precision is specific to the implementation and version of the .NET Framework. Consequently, a comparison of two particular numbers might change between versions of the .NET Framework because the precision of the numbers' internal representation might change.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value indicating whether this instance is equal to a specified object.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="obj" /> is an instance of <see cref="T:System.Single" /> and equals the value of this instance; otherwise, false.</para></returns><param name="obj"><attribution license="cc4" from="Microsoft" modified="false" />An object to compare with this instance. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="Equals"><MemberSignature Language="C#" Value="public bool Equals (float obj);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equals(float32 obj) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="obj" Type="System.Single" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method implements the <see cref="T:System.IEquatable`1" /> interface, and performs slightly better than <see cref="M:System.Single.Equals(System.Object)" /> because it does not have to convert the <paramref name="obj" /> parameter to an object.</para><format type="text/html"><h2>Widening Conversions</h2></format><para>Depending on your programming language, it might be possible to code an <see cref="M:System.Single.Equals(System.Single)" /> method where the parameter type has fewer bits (is narrower) than the instance type. This is possible because some programming languages perform an implicit widening conversion that represents the parameter as a type with as many bits as the instance.</para><para>For example, suppose the instance type is <see cref="T:System.Single" /> and the parameter type is <see cref="T:System.Int32" />. The Microsoft C# compiler generates instructions to represent the value of the parameter as a <see cref="T:System.Single" /> object, and then generates a <see cref="M:System.Single.Equals(System.Single)" /> method that compares the values of the instance and the widened representation of the parameter.</para><para>Consult your programming language's documentation to determine if its compiler performs implicit widening conversions of numeric types. For more information, see the <format type="text/html"><a href="0ea65c59-85eb-4a52-94ca-c36d3bd13058">Type Conversion Tables</a></format> topic.</para><format type="text/html"><h2>Precision in Comparisons</h2></format><para>The <see cref="M:System.Single.Equals(System.Single)" /> method should be used with caution, because two apparently equivalent values can be unequal because of the differing precision of the two values. The following example reports that the <see cref="T:System.Single" /> value .3333 and the <see cref="T:System.Single" /> returned by dividing 1 by 3 are unequal.</para><para>code reference: System.Single.Epsilon#1</para><para>One comparison technique that avoids the problems associated with comparing for equality involves defining an acceptable margin of difference between two values (such as .01% of one of the values). If the absolute value of the difference between the two values is less than or equal to that margin, the difference is likely to be an outcome of differences in precision and, therefore, the values are likely to be equal. The following example uses this technique to compare .33333 and 1/3, which are the two <see cref="T:System.Single" /> values that the previous code example found to be unequal.</para><para>code reference: System.Single.Epsilon#2</para><para>In this case, the values are equal.</para><block subset="none" type="note"><para>Because <see cref="F:System.Single.Epsilon" /> defines the minimum expression of a positive value whose range is near zero, the margin of difference must be greater than <see cref="F:System.Single.Epsilon" />. Typically, it is many times greater than <see cref="F:System.Single.Epsilon" />. Because of this, we recommend that you do not use <see cref="F:System.Double.Epsilon" /> when comparing <see cref="T:System.Double" /> values for equality.</para></block><para>A second technique that avoids the problems associated with comparing for equality involves comparing the difference between two floating-point numbers with some absolute value. If the difference is less than or equal to that absolute value, the numbers are equal. If it is greater, the numbers are not equal. One way to do this is to arbitrarily select an absolute value. However, this is problematic, because an acceptable margin of difference depends on the magnitude of the <see cref="T:System.Single" /> values. A second way takes advantage of a design feature of the floating-point format: The difference between the mantissa components in the integer representations of two floating-point values indicates the number of possible floating-point values that separates the two values. For example, the difference between 0.0 and <see cref="F:System.Single.Epsilon" /> is 1, because <see cref="F:System.Single.Epsilon" /> is the smallest representable value when working with a <see cref="T:System.Single" /> whose value is zero. The following example uses this technique to compare .33333 and 1/3, which are the two <see cref="T:System.Double" /> values that the previous code example with the <see cref="M:System.Single.Equals(System.Single)" /> method found to be unequal. Note that the example uses the <see cref="M:System.BitConverter.GetBytes(System.Single)" /> and <see cref="M:System.BitConverter.ToInt32(System.Byte[],System.Int32)" /> methods to convert a single-precision floating-point value to its integer representation. </para><para>code reference: System.Single.Equals#1</para><para>The precision of floating-point numbers beyond the documented precision is specific to the implementation and version of the .NET Framework. Consequently, a comparison of two numbers might produce different results depending on the version of the .NET Framework, because the precision of the numbers' internal representation might change.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value indicating whether this instance and a specified <see cref="T:System.Single" /> object represent the same value.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="obj" /> is equal to this instance; otherwise, false.</para></returns><param name="obj"><attribution license="cc4" from="Microsoft" modified="false" />An object to compare with this instance.</param></Docs></Member><Member MemberName="GetHashCode"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetHashCode()" /><MemberSignature Language="C#" Value="public override int GetHashCode ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Parameters /><Docs><remarks><para>
 The algorithm used to generate the hash code is
 unspecified.
 </para><para><block subset="none" type="note"> 
This method overrides <see cref="M:System.Object.GetHashCode" />.
</block></para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns the hash code for this instance.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A 32-bit signed integer hash code.</para></returns></Docs><Excluded>0</Excluded></Member><Member MemberName="GetTypeCode"><MemberSignature Language="C#" Value="public TypeCode GetTypeCode ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype System.TypeCode GetTypeCode() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.TypeCode</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns the <see cref="T:System.TypeCode" /> for value type <see cref="T:System.Single" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The enumerated constant, <see cref="F:System.TypeCode.Single" />.</para></returns></Docs></Member><Member MemberName="IsInfinity"><MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsInfinity(float32 f)" /><MemberSignature Language="C#" Value="public static bool IsInfinity (float f);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsInfinity(float32 f) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="f" Type="System.Single" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Floating-point operations return <see cref="F:System.Single.PositiveInfinity" /> or <see cref="F:System.Single.NegativeInfinity" /> to signal an overflow condition.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value indicating whether the specified number evaluates to negative or positive infinity.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="f" /> evaluates to <see cref="F:System.Single.PositiveInfinity" /> or <see cref="F:System.Single.NegativeInfinity" />; otherwise, false.</para></returns><param name="f"><attribution license="cc4" from="Microsoft" modified="false" />A single-precision floating-point number. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="IsNaN"><MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsNaN(float32 f)" /><MemberSignature Language="C#" Value="public static bool IsNaN (float f);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsNaN(float32 f) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Runtime.ConstrainedExecution.ReliabilityContract(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="f" Type="System.Single" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Floating-point operations return <see cref="F:System.Single.NaN" /> to signal that that result of the operation is undefined. For example, dividing 0.0 by 0.0 results in <see cref="F:System.Single.NaN" />.</para><block subset="none" type="note"><para><see cref="M:System.Single.IsNaN(System.Single)" /> returns false if a <see cref="T:System.Single" /> value is either <see cref="F:System.Single.PositiveInfinity" /> or <see cref="F:System.Single.NegativeInfinity" />. To test for these values, use the <see cref="M:System.Single.IsInfinity(System.Single)" />, <see cref="M:System.Single.IsPositiveInfinity(System.Single)" />, and <see cref="M:System.Single.IsNegativeInfinity(System.Single)" /> methods. </para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value that indicates whether the specified value is not a number (<see cref="F:System.Single.NaN" />).</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="f" /> evaluates to not a number (<see cref="F:System.Single.NaN" />); otherwise, false.</para></returns><param name="f"><attribution license="cc4" from="Microsoft" modified="false" />A single-precision floating-point number. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="IsNegativeInfinity"><MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsNegativeInfinity(float32 f)" /><MemberSignature Language="C#" Value="public static bool IsNegativeInfinity (float f);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsNegativeInfinity(float32 f) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="f" Type="System.Single" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Floating-point operations return <see cref="F:System.Single.NegativeInfinity" /> to signal an overflow condition.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value indicating whether the specified number evaluates to negative infinity.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="f" /> evaluates to <see cref="F:System.Single.NegativeInfinity" />; otherwise, false.</para></returns><param name="f"><attribution license="cc4" from="Microsoft" modified="false" />A single-precision floating-point number. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="IsPositiveInfinity"><MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsPositiveInfinity(float32 f)" /><MemberSignature Language="C#" Value="public static bool IsPositiveInfinity (float f);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsPositiveInfinity(float32 f) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="f" Type="System.Single" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Floating-point operations return <see cref="F:System.Single.PositiveInfinity" /> to signal an overflow condition.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value indicating whether the specified number evaluates to positive infinity.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="f" /> evaluates to <see cref="F:System.Single.PositiveInfinity" />; otherwise, false.</para></returns><param name="f"><attribution license="cc4" from="Microsoft" modified="false" />A single-precision floating-point number. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="MaxValue"><MemberSignature Language="ILASM" Value=".field public static literal float32 MaxValue = (float)3.402823E+38" /><MemberSignature Language="C#" Value="public const float MaxValue = 3.402823E+38;" /><MemberSignature Language="ILAsm" Value=".field public static literal float32 MaxValue = float32(3.402823E+38)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Single</ReturnType></ReturnValue><Parameters /><MemberValue>3.402823E+38</MemberValue><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of this constant is positive 3.402823e38.</para><para>The result of an operation that exceeds <see cref="F:System.Single.MaxValue" /> is <see cref="F:System.Single.PositiveInfinity" />. In the following example, <see cref="F:System.Single.PositiveInfinity" /> results from addition, multiplication, and exponentiation operations when the result exceeds <see cref="F:System.Single.MaxValue" />. </para><para>code reference: System.Single.MaxValue#1</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Represents the largest possible value of <see cref="T:System.Single" />. This field is constant.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="MinValue"><MemberSignature Language="ILASM" Value=".field public static literal float32 MinValue = (float)-3.402823E+38" /><MemberSignature Language="C#" Value="public const float MinValue = -3.402823E+38;" /><MemberSignature Language="ILAsm" Value=".field public static literal float32 MinValue = float32(-3.402823E+38)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Single</ReturnType></ReturnValue><Parameters /><MemberValue>-3.402823E+38</MemberValue><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of this constant is negative 3.402823e38.</para><para>The result of an operation that is less than <see cref="F:System.Single.MinValue" />  is <see cref="F:System.Single.NegativeInfinity" />. In the following example, <see cref="F:System.Single.NegativeInfinity" /> results from subtraction and multiplication operations when the result is less than <see cref="F:System.Single.MinValue" />. </para><para>code reference: System.Single.MinValue#1</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Represents the smallest possible value of <see cref="T:System.Single" />. This field is constant.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="NaN"><MemberSignature Language="ILASM" Value=".field public static literal float32 NaN = (float)0.0 / (float)0.0" /><MemberSignature Language="C#" Value="public const float NaN = NaN;" /><MemberSignature Language="ILAsm" Value=".field public static literal float32 NaN = float32(NaN)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Single</ReturnType></ReturnValue><Parameters /><MemberValue>NaN</MemberValue><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>A method or operator returns <see cref="F:System.Single.NaN" /> when the result of an operation is undefined. For example, the result of dividing zero by zero is <see cref="F:System.Single.NaN" />, as the following example shows. (But note that dividing a non-zero number by zero returns either <see cref="F:System.Single.PositiveInfinity" /> or <see cref="F:System.Single.NegativeInfinity" />, depending on the sign of the divisor.) </para><para>code reference: System.Single.NaN#1</para><para>In addition, a method call with a <see cref="F:System.Single.NaN" /> value or an operation on a <see cref="F:System.Single.NaN" /> value returns <see cref="F:System.Single.NaN" />, as the following example shows.</para><para>code reference: System.Single.NaN#2</para><para>Use the <see cref="M:System.Single.IsNaN(System.Single)" /> method to determine whether a value is not a number. Two <see cref="F:System.Single.NaN" /> values are considered unequal to one another. Therefore, it is not possible to determine whether a value is not a number by using the equality operator to compare it to another value that is equal to NaN. The comparison returns false, as the following example shows.</para><para>code reference: System.Single.NaN#3</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Represents not a number (NaN). This field is constant.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="NegativeInfinity"><MemberSignature Language="ILASM" Value=".field public static literal float32 NegativeInfinity = (float)-1.0 / (float)0.0" /><MemberSignature Language="C#" Value="public const float NegativeInfinity = -Infinity;" /><MemberSignature Language="ILAsm" Value=".field public static literal float32 NegativeInfinity = float32(-Infinity)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Single</ReturnType></ReturnValue><Parameters /><MemberValue>-Infinity</MemberValue><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of this constant is the result of dividing a negative number by zero.</para><para>This constant is returned when the result of an operation is less than <see cref="F:System.Single.MinValue" />.</para><para>Use <see cref="M:System.Single.IsNegativeInfinity(System.Single)" /> to determine whether a value evaluates to negative infinity. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Represents negative infinity. This field is constant.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="op_Equality"><MemberSignature Language="C#" Value="public static bool op_Equality (float left, float right);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname bool op_Equality(float32 left, float32 right) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="left" Type="System.Single" /><Parameter Name="right" Type="System.Single" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Single.op_Equality(System.Single,System.Single)" /> method defines the equality operator for <see cref="T:System.Single" /> values.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value that indicates whether two specified <see cref="T:System.Single" /> values are equal.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="left" /> and <paramref name="right" /> are equal; otherwise, false.</para></returns><param name="left"><attribution license="cc4" from="Microsoft" modified="false" />The first value to compare.</param><param name="right"><attribution license="cc4" from="Microsoft" modified="false" />The second value to compare.</param></Docs></Member><Member MemberName="op_GreaterThan"><MemberSignature Language="C#" Value="public static bool op_GreaterThan (float left, float right);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname bool op_GreaterThan(float32 left, float32 right) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="left" Type="System.Single" /><Parameter Name="right" Type="System.Single" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Single.op_GreaterThan(System.Single,System.Single)" /> method defines the operation of the greater-than operator for <see cref="T:System.Single" /> values.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value that indicates whether a specified <see cref="T:System.Single" /> value is greater than another specified <see cref="T:System.Single" /> value.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="left" /> is greater than <paramref name="right" />; otherwise, false.</para></returns><param name="left"><attribution license="cc4" from="Microsoft" modified="false" />The first value to compare.</param><param name="right"><attribution license="cc4" from="Microsoft" modified="false" />The second value to compare.</param></Docs></Member><Member MemberName="op_GreaterThanOrEqual"><MemberSignature Language="C#" Value="public static bool op_GreaterThanOrEqual (float left, float right);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname bool op_GreaterThanOrEqual(float32 left, float32 right) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="left" Type="System.Single" /><Parameter Name="right" Type="System.Single" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Single.op_GreaterThanOrEqual(System.Single,System.Single)" /> method defines the operation of the greater-than-or-equal operator for <see cref="T:System.Single" /> values.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value that indicates whether a specified <see cref="T:System.Single" /> value is greater than or equal to another specified <see cref="T:System.Single" /> value.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="left" /> is greater than or equal to <paramref name="right" />; otherwise, false.</para></returns><param name="left"><attribution license="cc4" from="Microsoft" modified="false" />The first value to compare.</param><param name="right"><attribution license="cc4" from="Microsoft" modified="false" />The second value to compare.</param></Docs></Member><Member MemberName="op_Inequality"><MemberSignature Language="C#" Value="public static bool op_Inequality (float left, float right);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname bool op_Inequality(float32 left, float32 right) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="left" Type="System.Single" /><Parameter Name="right" Type="System.Single" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Single.op_Inequality(System.Single,System.Single)" /> method defines the inequality operator for <see cref="T:System.Single" /> values.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value that indicates whether two specified <see cref="T:System.Single" /> values are not equal.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="left" /> and <paramref name="right" /> are not equal; otherwise, false.</para></returns><param name="left"><attribution license="cc4" from="Microsoft" modified="false" />The first value to compare.</param><param name="right"><attribution license="cc4" from="Microsoft" modified="false" />The second value to compare.</param></Docs></Member><Member MemberName="op_LessThan"><MemberSignature Language="C#" Value="public static bool op_LessThan (float left, float right);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname bool op_LessThan(float32 left, float32 right) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="left" Type="System.Single" /><Parameter Name="right" Type="System.Single" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Single.op_LessThan(System.Single,System.Single)" /> method defines the operation of the less-than operator for <see cref="T:System.Single" /> values.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value that indicates whether a specified <see cref="T:System.Single" /> value is less than another specified <see cref="T:System.Single" /> value.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="left" /> is less than <paramref name="right" />; otherwise, false.</para></returns><param name="left"><attribution license="cc4" from="Microsoft" modified="false" />The first value to compare.</param><param name="right"><attribution license="cc4" from="Microsoft" modified="false" />The second value to compare.</param></Docs></Member><Member MemberName="op_LessThanOrEqual"><MemberSignature Language="C#" Value="public static bool op_LessThanOrEqual (float left, float right);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname bool op_LessThanOrEqual(float32 left, float32 right) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="left" Type="System.Single" /><Parameter Name="right" Type="System.Single" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Single.op_LessThanOrEqual(System.Single,System.Single)" /> method defines the operation of the less-than-or-equal operator for <see cref="T:System.Single" /> values.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value that indicates whether a specified <see cref="T:System.Single" /> value is less than or equal to another specified <see cref="T:System.Single" /> value.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="left" /> is less than or equal to <paramref name="right" />; otherwise, false.</para></returns><param name="left"><attribution license="cc4" from="Microsoft" modified="false" />The first value to compare.</param><param name="right"><attribution license="cc4" from="Microsoft" modified="false" />The second value to compare.</param></Docs></Member><Member MemberName="Parse"><MemberSignature Language="ILASM" Value=".method public hidebysig static float32 Parse(string s)" /><MemberSignature Language="C#" Value="public static float Parse (string s);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig float32 Parse(string s) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Single</ReturnType></ReturnValue><Parameters><Parameter Name="s" Type="System.String" /></Parameters><Docs><exception cref="T:System.ArgumentNullException"><paramref name="s" /> is a null reference.</exception><exception cref="T:System.FormatException"><paramref name="s" /> is not in the correct style.</exception><exception cref="T:System.OverflowException"><paramref name="s" /> represents a value that is less than <see cref="F:System.Single.MinValue" /> or greater than <see cref="F:System.Single.MaxValue" />.</exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <paramref name="s" /> parameter can contain the current culture's <see cref="P:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol" />, <see cref="P:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol" />, <see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol" />, or a string of the form: </para><para>[ws][sign] [integral-digits[,]]integral-digits[.[fractional-digits]][e[sign]exponential-digits][ws] </para><para>Elements in square brackets ([ and ]) are optional. The following table describes each element.</para><list type="table"><listheader><item><term><para>Element</para></term><description><para>Description</para></description></item></listheader><item><term><para>ws</para></term><description><para>A series of white space characters. </para></description></item><item><term><para>sign</para></term><description><para>A negative sign symbol or a positive sign symbol. Valid sign characters are determined by the <see cref="P:System.Globalization.NumberFormatInfo.NegativeSign" /> and <see cref="P:System.Globalization.NumberFormatInfo.PositiveSign" /> properties of the current culture. Only a leading sign can be used.</para></description></item><item><term><para>integral-digits</para></term><description><para>A series of digits ranging from 0 to 9 that specify the integral part of the number. Runs of integral-digits can be partitioned by a group-separator symbol. For example, in some cultures a comma (,) separates groups of thousands. The integral-digits element can be absent if the string contains the fractional-digits element. </para></description></item><item><term><para>,</para></term><description><para>A culture-specific thousands separator symbol.</para></description></item><item><term><para>. </para></term><description><para>A culture-specific decimal point symbol. </para></description></item><item><term><para>fractional-digits</para></term><description><para>A series of digits ranging from 0 to 9 that specify the fractional part of the number.</para></description></item><item><term><para>E</para></term><description><para>The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation.</para></description></item><item><term><para>exponential-digits</para></term><description><para>A series of digits ranging from 0 to 9 that specify an exponent.</para></description></item></list><para>The <paramref name="s" /> parameter is interpreted using a combination of the <see cref="F:System.Globalization.NumberStyles.Float" /> and <see cref="F:System.Globalization.NumberStyles.AllowThousands" /> flags. This means that white space and thousands separators are allowed but currency symbols are not. To explicitly define the elements (such as currency symbols, thousands separators, and white space) that can be present in <paramref name="s" />, use the <see cref="M:System.Single.Parse(System.String,System.Globalization.NumberStyles)" /> method overload.</para><para>The <paramref name="s" /> parameter is parsed by using the formatting information in a <see cref="T:System.Globalization.NumberFormatInfo" /> object that is initialized for the current system culture. For more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo" />. To parse a string by using the formatting information of a specific culture, use the <see cref="M:System.Single.Parse(System.String,System.IFormatProvider)" /> or <see cref="M:System.Single.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)" /> method.</para><para>Ordinarily, if you pass the <see cref="Overload:System.Single.Parse" /> method a string that is created by calling the <see cref="Overload:System.Single.ToString" /> method, the original <see cref="T:System.Single" /> value is returned. However, because of a loss of precision, the values may not be equal. </para><para>If a separator is encountered in the <paramref name="s" /> parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. For more information about separators, see <see cref="P:System.Globalization.NumberFormatInfo.CurrencyDecimalSeparator" />, <see cref="P:System.Globalization.NumberFormatInfo.NumberDecimalSeparator" />, <see cref="P:System.Globalization.NumberFormatInfo.CurrencyGroupSeparator" />, and <see cref="P:System.Globalization.NumberFormatInfo.NumberGroupSeparator" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Converts the string representation of a number to its single-precision floating-point number equivalent.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A single-precision floating-point number equivalent to the numeric value or symbol specified in <paramref name="s" />.</para></returns><param name="s"><attribution license="cc4" from="Microsoft" modified="false" />A string that contains a number to convert. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="Parse"><MemberSignature Language="ILASM" Value=".method public hidebysig static float32 Parse(string s, valuetype System.Globalization.NumberStyles style)" /><MemberSignature Language="C#" Value="public static float Parse (string s, System.Globalization.NumberStyles style);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig float32 Parse(string s, valuetype System.Globalization.NumberStyles style) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Single</ReturnType></ReturnValue><Parameters><Parameter Name="s" Type="System.String" /><Parameter Name="style" Type="System.Globalization.NumberStyles" /></Parameters><Docs><exception cref="T:System.ArgumentNullException"><paramref name="s" /> is a null reference.</exception><exception cref="T:System.FormatException"><paramref name="s" /> is not in the correct style.</exception><exception cref="T:System.OverflowException"><paramref name="s" /> represents a value that is less than <see cref="F:System.Single.MinValue" /> or greater than <see cref="F:System.Single.MaxValue" />.</exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <paramref name="style" /> parameter defines the style elements (such as white space, thousands separators, and currency symbols) that are allowed in the <paramref name="s" /> parameter for the parse operation to succeed. It must be a combination of bit flags from the <see cref="T:System.Globalization.NumberStyles" /> enumeration. The following <see cref="T:System.Globalization.NumberStyles" /> members are not supported:</para><list type="bullet"><item><para><see cref="F:System.Globalization.NumberStyles.AllowHexSpecifier" /></para></item><item><para><see cref="F:System.Globalization.NumberStyles.HexNumber" /></para></item></list><para>The <paramref name="s" /> parameter can contain the current culture's <see cref="P:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol" />, <see cref="P:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol" />, <see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol" />. Depending on the value of <paramref name="style" />, it can also take the form: </para><para>[ws][$][sign][integral-digits[,]]integral-digits[.[fractional-digits]][E[sign]exponential-digits][ws] </para><para>Elements in square brackets ([ and ]) are optional. The following table describes each element.</para><list type="table"><item><term>ws</term><description><para>A series of white-space characters. White space can appear at the beginning of <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowLeadingWhite" /> flag, and it can appear at the end of <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowTrailingWhite" /> flag. </para></description></item><item><term>$</term><description><para>A culture-specific currency symbol. Its position in the string is defined by the <see cref="P:System.Globalization.NumberFormatInfo.CurrencyNegativePattern" /> and <see cref="P:System.Globalization.NumberFormatInfo.CurrencyPositivePattern" /> properties of the current culture. The current culture's currency symbol can appear in <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowCurrencySymbol" /> flag.</para></description></item><item><term>sign</term><description><para>A negative sign symbol (-) or a positive sign symbol (+). The sign can appear at the beginning of <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowLeadingSign" /> flag, and it can appear at the end of <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowTrailingSign" /> flag. Parentheses can be used in <paramref name="s" /> to indicate a negative value if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowParentheses" /> flag. </para></description></item><item><term>integral-digits</term><description><para>A series of digits ranging from 0 to 9 that specify the integral part of the number. The integral-digits element can be absent if the string contains the fractional-digits element. </para></description></item><item><term>,</term><description><para>A culture-specific group separator. The current culture's group separator symbol can appear in <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowThousands" /> flag</para></description></item><item><term>. </term><description><para>A culture-specific decimal point symbol. The current culture's decimal point symbol can appear in <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowDecimalPoint" /> flag.</para></description></item><item><term>fractional-digits</term><description><para>A series of digits ranging from 0 to 9 that specify the fractional part of the number. Fractional digits can appear in <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowDecimalPoint" /> flag.</para></description></item><item><term>E</term><description><para>The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. The <paramref name="value" /> parameter can represent a number in exponential notation if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowExponent" /> flag.</para></description></item><item><term>exponential-digits</term><description><para>A series of digits ranging from 0 to 9 that specify an exponent.</para></description></item></list><para>A string with digits only (which corresponds to the <see cref="F:System.Globalization.NumberStyles.None" /> style) always parses successfully. The remaining <see cref="T:System.Globalization.NumberStyles" /> members control elements that may be present, but are not required to be present, in the input string. The following table indicates how individual <see cref="T:System.Globalization.NumberStyles" /> flags affect the elements that may be present in <paramref name="s" />.</para><list type="table"><listheader><item><term><para>NumberStyles value</para></term><description><para>Elements permitted in <paramref name="s" /> in addition to digits</para></description></item></listheader><item><term><para><see cref="F:System.Globalization.NumberStyles.None" /></para></term><description><para>The integral-digits element only.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowDecimalPoint" /></para></term><description><para>The decimal point (.) and fractional-digits elements.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowExponent" /></para></term><description><para>The "e" or "E" character, which indicates exponential notation. This flag by itself supports values in the form digitsEdigits; additional flags are needed to successfully parse strings with such elements as positive or negative signs and decimal point symbols.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowLeadingWhite" /></para></term><description><para>The ws element at the beginning of <paramref name="s" />.  </para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowTrailingWhite" /></para></term><description><para>The ws element at the end of <paramref name="s" />.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowLeadingSign" /></para></term><description><para>The sign element at the beginning of <paramref name="s" />.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowTrailingSign" /></para></term><description><para>The sign element at the end of <paramref name="s" />.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowParentheses" /></para></term><description><para>The sign element in the form of parentheses enclosing the numeric value.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowThousands" /></para></term><description><para>The thousands separator (,) element.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowCurrencySymbol" /></para></term><description><para>The currency ($) element.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.Currency" /></para></term><description><para>All elements. However, <paramref name="s" /> cannot represent a hexadecimal number or a number in exponential notation.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.Float" /></para></term><description><para>The ws element at the beginning or end of <paramref name="s" />, sign at the beginning of <paramref name="s" />, and the decimal point (.) symbol. The <paramref name="s" /> parameter can also use exponential notation.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.Number" /></para></term><description><para>The <paramref name="ws" />, <paramref name="sign" />, thousands separator (,) and decimal point (.) elements.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.Any" /></para></term><description><para>All elements. However, <paramref name="s" /> cannot represent a hexadecimal number.</para></description></item></list><para>Some examples of <paramref name="s" /> are "100", "-123,456,789", "123.45e+6", "+500", "5e2", "3.1416", "600.", "-.123", and "-Infinity".</para><para>The <paramref name="s" /> parameter is parsed using the formatting information in a <see cref="T:System.Globalization.NumberFormatInfo" /> object that is initialized for the current system culture. To specify the culture whose formatting information is used for the parse operation, call the <see cref="M:System.Single.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)" /> overload.</para><para>Ordinarily, if you pass the <see cref="Overload:System.Single.Parse" /> method a string that is created by calling the <see cref="Overload:System.Single.ToString" /> method, the original <see cref="T:System.Single" /> value is returned. However, because of a loss of precision, the values may not be equal. </para><para>If a separator is encountered in the <paramref name="s" /> parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. For more information about separators, see <see cref="P:System.Globalization.NumberFormatInfo.CurrencyDecimalSeparator" />, <see cref="P:System.Globalization.NumberFormatInfo.NumberDecimalSeparator" />, <see cref="P:System.Globalization.NumberFormatInfo.CurrencyGroupSeparator" />, and <see cref="P:System.Globalization.NumberFormatInfo.NumberGroupSeparator" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Converts the string representation of a number in a specified style to its single-precision floating-point number equivalent.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A single-precision floating-point number that is equivalent to the numeric value or symbol specified in <paramref name="s" />.</para></returns><param name="s"><attribution license="cc4" from="Microsoft" modified="false" />A string that contains a number to convert. </param><param name="style"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of enumeration values that indicates the style elements that can be present in <paramref name="s" />. A typical value to specify is <see cref="F:System.Globalization.NumberStyles.Float" /> combined with <see cref="F:System.Globalization.NumberStyles.AllowThousands" />.</param></Docs><Excluded>0</Excluded></Member><Member MemberName="Parse"><MemberSignature Language="ILASM" Value=".method public hidebysig static float32 Parse(string s, class System.IFormatProvider provider)" /><MemberSignature Language="C#" Value="public static float Parse (string s, IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig float32 Parse(string s, class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Single</ReturnType></ReturnValue><Parameters><Parameter Name="s" Type="System.String" /><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><exception cref="T:System.ArgumentNullException"><paramref name="s " />is a null reference.</exception><exception cref="T:System.FormatException"><paramref name="s" /> is not in the correct style.</exception><exception cref="T:System.OverflowException"><paramref name="s" /> represents a value that is less than <see cref="F:System.Single.MinValue" /> or greater than <see cref="F:System.Single.MaxValue" />.</exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This overload is typically used to convert text that can be formatted in a variety of ways to a <see cref="T:System.Single" /> value. For example, it can be used to convert the text entered by a user into an HTML text box to a numeric value.</para><para>The <paramref name="s" /> parameter is interpreted using a combination of the <see cref="F:System.Globalization.NumberStyles.Float" /> and <see cref="F:System.Globalization.NumberStyles.AllowThousands" /> flags. The <paramref name="s" /> parameter can contain <see cref="P:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol" />, <see cref="P:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol" />, or <see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol" /> for the culture specified by <paramref name="provider" />, or it can contain a string of the form: </para><para>[ws][sign]integral-digits[.[fractional-digits]][E[sign]exponential-digits][ws] </para><para>Optional elements are framed in square brackets ([ and ]). Elements that contain the term "digits" consist of a series of numeric characters ranging from 0 to 9.</para><list type="table"><listheader><item><term><para>Element</para></term><description><para>Description</para></description></item></listheader><item><term><para>ws</para></term><description><para>A series of white-space characters. </para></description></item><item><term><para>sign</para></term><description><para>A negative sign symbol (-) or a positive sign symbol (+). </para></description></item><item><term><para>integral-digits</para></term><description><para>A series of digits ranging from 0 to 9 that specify the integral part of the number. Runs of integral-digits can be partitioned by a group-separator symbol. For example, in some cultures a comma (,) separates groups of thousands. The integral-digits element can be absent if the string contains the fractional-digits element. </para></description></item><item><term><para>. </para></term><description><para>A culture-specific decimal point symbol. </para></description></item><item><term><para>fractional-digits</para></term><description><para>A series of digits ranging from 0 to 9 that specify the fractional part of the number. </para></description></item><item><term><para>E </para></term><description><para>The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. </para></description></item><item><term><para>exponential-digits</para></term><description><para>A series of digits ranging from 0 to 9 that specify an exponent. </para></description></item></list><para>For more information about numeric formats, see the <format type="text/html"><a href="0D1364DA-5B30-4D42-8E6B-03378343343F">[&lt;topic://cpConFormattingOverview&gt;]</a></format> topic.</para><para>The <paramref name="provider" /> parameter is an <see cref="T:System.IFormatProvider" /> implementation whose <see cref="M:System.IFormatProvider.GetFormat(System.Type)" /> method returns a <see cref="T:System.Globalization.NumberFormatInfo" /> object that provides culture-specific formatting information. When the <see cref="M:System.Single.Parse(System.String,System.IFormatProvider)" /> method is invoked, it calls the <paramref name="provider" /> parameter's <see cref="M:System.IFormatProvider.GetFormat(System.Type)" /> method and passes it a <see cref="T:System.Type" /> object that represents the <see cref="T:System.Globalization.NumberFormatInfo" /> type. The <see cref="M:System.IFormatProvider.GetFormat(System.Type)" /> method then returns the <see cref="T:System.Globalization.NumberFormatInfo" /> object that provides information about the format of the <paramref name="s" /> parameter. There are three ways to use the <paramref name="provider" /> parameter to supply custom formatting information to the parse operation: </para><list type="bullet"><item><para>You can pass a <see cref="T:System.Globalization.CultureInfo" /> object that represents the culture that supplies formatting information. Its <see cref="M:System.Globalization.CultureInfo.GetFormat(System.Type)" /> method returns the <see cref="T:System.Globalization.NumberFormatInfo" /> object that provides numeric formatting information for that culture.</para></item><item><para>You can pass the actual <see cref="T:System.Globalization.NumberFormatInfo" /> object that provides numeric formatting information. (Its implementation of <see cref="M:System.Globalization.NumberFormatInfo.GetFormat(System.Type)" /> just returns itself.)</para></item><item><para>You can pass a custom object that implements <see cref="T:System.IFormatProvider" />. Its <see cref="M:System.IFormatProvider.GetFormat(System.Type)" /> method instantiates and returns the <see cref="T:System.Globalization.NumberFormatInfo" /> object that provides formatting information.</para></item></list><para>If <paramref name="provider" /> is null or a <see cref="T:System.Globalization.NumberFormatInfo" /> cannot be obtained, the formatting information for the current system culture is used.</para><para>If a separator is encountered in the <paramref name="s" /> parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. For more information about separators, see <see cref="P:System.Globalization.NumberFormatInfo.CurrencyDecimalSeparator" />, <see cref="P:System.Globalization.NumberFormatInfo.NumberDecimalSeparator" />, <see cref="P:System.Globalization.NumberFormatInfo.CurrencyGroupSeparator" />, and <see cref="P:System.Globalization.NumberFormatInfo.NumberGroupSeparator" />.</para><para>Some examples of <paramref name="s" /> are "100", "-123,456,789", "123.45e+6", "+500", "5e2", "3.1416", "600.", "-.123", and "-Infinity".</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Converts the string representation of a number in a specified culture-specific format to its single-precision floating-point number equivalent.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A single-precision floating-point number equivalent to the numeric value or symbol specified in <paramref name="s" />.</para></returns><param name="s"><attribution license="cc4" from="Microsoft" modified="false" />A string that contains a number to convert. </param><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />An object that supplies culture-specific formatting information about <paramref name="s" />. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="Parse"><MemberSignature Language="ILASM" Value=".method public hidebysig static float32 Parse(string s, valuetype System.Globalization.NumberStyles style, class System.IFormatProvider provider)" /><MemberSignature Language="C#" Value="public static float Parse (string s, System.Globalization.NumberStyles style, IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig float32 Parse(string s, valuetype System.Globalization.NumberStyles style, class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Single</ReturnType></ReturnValue><Parameters><Parameter Name="s" Type="System.String" /><Parameter Name="style" Type="System.Globalization.NumberStyles" /><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><exception cref="T:System.ArgumentNullException"><paramref name="s" /> is a null reference.</exception><exception cref="T:System.FormatException"><paramref name="s" /> is not in the correct style.</exception><exception cref="T:System.OverflowException"><paramref name="s" /> represents a value that is less than <see cref="F:System.Single.MinValue" /> or greater than <see cref="F:System.Single.MaxValue" />.</exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <paramref name="style" /> parameter defines the style elements (such as white space, thousands separators, and currency symbols) that are allowed in the <paramref name="s" /> parameter for the parse operation to succeed. It must be a combination of bit flags from the <see cref="T:System.Globalization.NumberStyles" /> enumeration. The following <see cref="T:System.Globalization.NumberStyles" /> members are not supported:</para><list type="bullet"><item><para><see cref="F:System.Globalization.NumberStyles.AllowHexSpecifier" /></para></item><item><para><see cref="F:System.Globalization.NumberStyles.HexNumber" /></para></item></list><para>The <paramref name="s" /> parameter can contain <see cref="P:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol" />, <see cref="P:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol" />, or <see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol" /> for the culture specified by <paramref name="provider" />. Depending on the value of <paramref name="style" />, it can also take the form: </para><para>[ws] [$] [sign][integral-digits,]integral-digits[.[fractional-digits]][E[sign]exponential-digits][ws] </para><para>Elements framed in square brackets ([ and ]) are optional. The following table describes each element.</para><list type="table"><listheader><item><term><para>Element</para></term><description><para>Description</para></description></item></listheader><item><term><para>ws</para></term><description><para>A series of white-space characters. White space can appear at the beginning of <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowLeadingWhite" /> flag, and it can appear at the end of <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowTrailingWhite" /> flag. </para></description></item><item><term><para>$</para></term><description><para>A culture-specific currency symbol. Its position in the string is defined by the <see cref="P:System.Globalization.NumberFormatInfo.CurrencyNegativePattern" /> and <see cref="P:System.Globalization.NumberFormatInfo.CurrencyPositivePattern" /> properties of the current culture. The current culture's currency symbol can appear in <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowCurrencySymbol" /> flag.</para></description></item><item><term><para>sign</para></term><description><para>A negative sign symbol (-) or a positive sign symbol (+). The sign can appear at the beginning of <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowLeadingSign" /> flag, and it can appear at the end of <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowTrailingSign" /> flag. Parentheses can be used in <paramref name="s" /> to indicate a negative value if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowParentheses" /> flag. </para></description></item><item><term><para>integral-digits</para></term><description><para>A series of digits ranging from 0 to 9 that specify the integral part of the number. The integral-digits element can be absent if the string contains the fractional-digits element. </para></description></item><item><term><para>,</para></term><description><para>A culture-specific group separator. The current culture's group separator symbol can appear in <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowThousands" /> flag</para></description></item><item><term><para>. </para></term><description><para>A culture-specific decimal point symbol. The current culture's decimal point symbol can appear in <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowDecimalPoint" /> flag.</para></description></item><item><term><para>fractional-digits</para></term><description><para>A series of digits ranging from 0 to 9 that specify the fractional part of the number. Fractional digits can appear in <paramref name="s" /> if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowDecimalPoint" /> flag.</para></description></item><item><term><para>E </para></term><description><para>The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. The <paramref name="s" /> parameter can represent a number in exponential notation if <paramref name="style" /> includes the <see cref="F:System.Globalization.NumberStyles.AllowExponent" /> flag.</para></description></item><item><term><para>exponential-digits</para></term><description><para>A series of digits ranging from 0 to 9 that specify an exponent. </para></description></item></list><para>A string with digits only (which corresponds to the <see cref="F:System.Globalization.NumberStyles.None" /> style) always parses successfully. The remaining <see cref="T:System.Globalization.NumberStyles" /> members control elements that may be present, but are not required to be present, in the input string. The following table indicates how individual <see cref="T:System.Globalization.NumberStyles" /> flags affect the elements that may be present in <paramref name="s" />. </para><list type="table"><listheader><item><term><para>NumberStyles value</para></term><description><para>Elements permitted in <paramref name="s" /> in addition to digits</para></description></item></listheader><item><term><para><see cref="F:System.Globalization.NumberStyles.None" /></para></term><description><para>The integral-digits element only.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowDecimalPoint" /></para></term><description><para>The decimal point (.) and fractional-digits elements.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowExponent" /></para></term><description><para>The "e" or "E" character, which indicates exponential notation. This flag by itself supports values in the form digitsEdigits; additional flags are needed to successfully parse strings with such elements as positive or negative signs and decimal point symbols.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowLeadingWhite" /></para></term><description><para>The ws element at the beginning of <paramref name="s" />.  </para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowTrailingWhite" /></para></term><description><para>The ws element at the end of <paramref name="s" />.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowLeadingSign" /></para></term><description><para>The sign element at the beginning of <paramref name="s" />.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowTrailingSign" /></para></term><description><para>The sign element at the end of <paramref name="s" />.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowParentheses" /></para></term><description><para>The sign element in the form of parentheses enclosing the numeric value.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowThousands" /></para></term><description><para>The thousands separator (,) element.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.AllowCurrencySymbol" /></para></term><description><para>The currency ($) element.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.Currency" /></para></term><description><para>All elements. However, <paramref name="s" /> cannot represent a hexadecimal number or a number in exponential notation.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.Float" /></para></term><description><para>The ws element at the beginning or end of <paramref name="s" />, sign at the beginning of <paramref name="s" />, and the decimal point (.) symbol. The <paramref name="s" /> parameter can also use exponential notation.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.Number" /></para></term><description><para>The <paramref name="ws" />, <paramref name="sign" />, thousands separator (,) and decimal point (.) elements.</para></description></item><item><term><para><see cref="F:System.Globalization.NumberStyles.Any" /></para></term><description><para>All elements. However, <paramref name="s" /> cannot represent a hexadecimal number.</para></description></item></list><para>The <paramref name="provider" /> parameter is an <see cref="T:System.IFormatProvider" /> implementation. Its <see cref="M:System.IFormatProvider.GetFormat(System.Type)" /> method returns a <see cref="T:System.Globalization.NumberFormatInfo" /> object that provides culture-specific information about the format of <paramref name="value" />. Typically, <paramref name="provider" /> can be any one of the following: </para><list type="bullet"><item><para>A <see cref="T:System.Globalization.CultureInfo" /> object that represents the culture that provides numeric formatting information. Its <see cref="M:System.Globalization.CultureInfo.GetFormat(System.Type)" /> method returns the <see cref="T:System.Globalization.NumberFormatInfo" /> object that provides numeric formatting information.</para></item><item><para>A <see cref="T:System.Globalization.NumberFormatInfo" /> object that provides formatting information. (Its implementation of <see cref="M:System.Globalization.NumberFormatInfo.GetFormat(System.Type)" /> just returns itself.)</para></item><item><para>A custom object that implements <see cref="T:System.IFormatProvider" /> and uses the <see cref="M:System.Globalization.NumberFormatInfo.GetFormat(System.Type)" /> method to instantiate and return the <see cref="T:System.Globalization.NumberFormatInfo" /> object that provides formatting information.</para></item></list><para>If <paramref name="provider" /> is null, the <see cref="T:System.Globalization.NumberFormatInfo" /> object for the current culture is used.</para><para>If a separator is encountered in the <paramref name="s" /> parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. For more information about separators, see <see cref="P:System.Globalization.NumberFormatInfo.CurrencyDecimalSeparator" />, <see cref="P:System.Globalization.NumberFormatInfo.NumberDecimalSeparator" />, <see cref="P:System.Globalization.NumberFormatInfo.CurrencyGroupSeparator" />, and <see cref="P:System.Globalization.NumberFormatInfo.NumberGroupSeparator" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Converts the string representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A single-precision floating-point number equivalent to the numeric value or symbol specified in <paramref name="s" />.</para></returns><param name="s"><attribution license="cc4" from="Microsoft" modified="false" />A string that contains a number to convert. </param><param name="style"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of enumeration values that indicates the style elements that can be present in <paramref name="s" />. A typical value to specify is <see cref="F:System.Globalization.NumberStyles.Float" /> combined with <see cref="F:System.Globalization.NumberStyles.AllowThousands" />.</param><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />An object that supplies culture-specific formatting information about <paramref name="s" />. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="PositiveInfinity"><MemberSignature Language="ILASM" Value=".field public static literal float32 PositiveInfinity = (float)1.0 / (float)0.0" /><MemberSignature Language="C#" Value="public const float PositiveInfinity = Infinity;" /><MemberSignature Language="ILAsm" Value=".field public static literal float32 PositiveInfinity = float32(Infinity)" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Single</ReturnType></ReturnValue><Parameters /><MemberValue>Infinity</MemberValue><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of this constant is the result of dividing a positive number by zero.</para><para>This constant is returned when the result of an operation is greater than <see cref="F:System.Single.MaxValue" />.</para><para>Use <see cref="M:System.Single.IsPositiveInfinity(System.Single)" /> to determine whether a value evaluates to positive infinity. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Represents positive infinity. This field is constant.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="System.IConvertible.ToBoolean"><MemberSignature Language="C#" Value="bool IConvertible.ToBoolean (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance bool System.IConvertible.ToBoolean(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Single" /> instance is cast to an <see cref="T:System.IConvertible" /> interface. The recommended alternative is to call the <see cref="M:System.Convert.ToBoolean(System.Single)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.IConvertible.ToBoolean(System.IFormatProvider)" />. </para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the value of the current instance is not zero; otherwise, false.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />This parameter is ignored.</param></Docs></Member><Member MemberName="System.IConvertible.ToByte"><MemberSignature Language="C#" Value="byte IConvertible.ToByte (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance unsigned int8 System.IConvertible.ToByte(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Byte</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Single" /> instance is cast to an <see cref="T:System.IConvertible" /> interface. The recommended alternative is to call the <see cref="M:System.Convert.ToByte(System.Single)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.IConvertible.ToByte(System.IFormatProvider)" />. </para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the current instance, converted to a <see cref="T:System.Byte" />.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />This parameter is ignored.</param></Docs></Member><Member MemberName="System.IConvertible.ToChar"><MemberSignature Language="C#" Value="char IConvertible.ToChar (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance char System.IConvertible.ToChar(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Char</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>This conversion is not supported. Attempting to use this method throws an <see cref="T:System.InvalidCastException" />. </para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>This conversion is not supported. No value is returned.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />This parameter is ignored.</param></Docs></Member><Member MemberName="System.IConvertible.ToDateTime"><MemberSignature Language="C#" Value="DateTime IConvertible.ToDateTime (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance valuetype System.DateTime System.IConvertible.ToDateTime(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.DateTime</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>This conversion is not supported. Attempting to use this method throws an <see cref="T:System.InvalidCastException" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>This conversion is not supported. No value is returned.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />This parameter is ignored.</param></Docs></Member><Member MemberName="System.IConvertible.ToDecimal"><MemberSignature Language="C#" Value="decimal IConvertible.ToDecimal (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance valuetype System.Decimal System.IConvertible.ToDecimal(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Decimal</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Single" /> instance is cast to an <see cref="T:System.IConvertible" /> interface. The recommended alternative is to call the <see cref="M:System.Convert.ToDecimal(System.Single)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.IConvertible.ToDecimal(System.IFormatProvider)" />. </para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the current instance, converted to a <see cref="T:System.Decimal" />.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />This parameter is ignored.</param></Docs></Member><Member MemberName="System.IConvertible.ToDouble"><MemberSignature Language="C#" Value="double IConvertible.ToDouble (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance float64 System.IConvertible.ToDouble(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Double</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Single" /> instance is cast to an <see cref="T:System.IConvertible" /> interface. The recommended alternative is to call the <see cref="M:System.Convert.ToDouble(System.Single)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.IConvertible.ToDouble(System.IFormatProvider)" />. </para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the current instance, converted to a <see cref="T:System.Double" />.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />This parameter is ignored.</param></Docs></Member><Member MemberName="System.IConvertible.ToInt16"><MemberSignature Language="C#" Value="short IConvertible.ToInt16 (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance int16 System.IConvertible.ToInt16(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int16</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Single" /> instance is cast to an <see cref="T:System.IConvertible" /> interface. The recommended alternative is to call the <see cref="M:System.Convert.ToInt16(System.Single)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.IConvertible.ToInt16(System.IFormatProvider)" />. </para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the current instance, converted to an <see cref="T:System.Int16" />.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />This parameter is ignored.</param></Docs></Member><Member MemberName="System.IConvertible.ToInt32"><MemberSignature Language="C#" Value="int IConvertible.ToInt32 (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance int32 System.IConvertible.ToInt32(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Single" /> instance is cast to an <see cref="T:System.IConvertible" /> interface. The recommended alternative is to call the <see cref="M:System.Convert.ToInt32(System.Single)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.IConvertible.ToInt32(System.IFormatProvider)" />. </para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the current instance, converted to an <see cref="T:System.Int32" />.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />This parameter is ignored.</param></Docs></Member><Member MemberName="System.IConvertible.ToInt64"><MemberSignature Language="C#" Value="long IConvertible.ToInt64 (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance int64 System.IConvertible.ToInt64(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int64</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Single" /> instance is cast to an <see cref="T:System.IConvertible" /> interface. The recommended alternative is to call the <see cref="M:System.Convert.ToInt64(System.Single)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.IConvertible.ToInt64(System.IFormatProvider)" />. </para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the current instance, converted to an <see cref="T:System.Int64" />.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />This parameter is ignored.</param></Docs></Member><Member MemberName="System.IConvertible.ToSByte"><MemberSignature Language="C#" Value="sbyte IConvertible.ToSByte (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance int8 System.IConvertible.ToSByte(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.SByte</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Single" /> instance is cast to an <see cref="T:System.IConvertible" /> interface. The recommended alternative is to call the <see cref="M:System.Convert.ToSByte(System.Single)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.IConvertible.ToSByte(System.IFormatProvider)" />. </para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the current instance, converted to an <see cref="T:System.SByte" />.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />This parameter is ignored.</param></Docs></Member><Member MemberName="System.IConvertible.ToSingle"><MemberSignature Language="C#" Value="float IConvertible.ToSingle (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance float32 System.IConvertible.ToSingle(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Single</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Single" /> instance is cast to an <see cref="T:System.IConvertible" /> interface.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.IConvertible.ToSingle(System.IFormatProvider)" />. </para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the current instance, unchanged.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />This parameter is ignored.</param></Docs></Member><Member MemberName="System.IConvertible.ToType"><MemberSignature Language="C#" Value="object IConvertible.ToType (Type targetType, IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance object System.IConvertible.ToType(class System.Type targetType, class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Object</ReturnType></ReturnValue><Parameters><Parameter Name="targetType" Type="System.Type" /><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><param name="targetType">To be added.</param><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Single" /> instance is cast to an <see cref="T:System.IConvertible" /> interface. The recommended alternative is to call the static (Shared in Visual Basic) <see cref="M:System.Convert.ChangeType(System.Object,System.Type,System.IFormatProvider)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.IConvertible.ToType(System.Type,System.IFormatProvider)" />. </para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the current instance, converted to <paramref name="type" />.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />An object that supplies information about the format of the returned value.</param></Docs></Member><Member MemberName="System.IConvertible.ToUInt16"><MemberSignature Language="C#" Value="ushort IConvertible.ToUInt16 (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance unsigned int16 System.IConvertible.ToUInt16(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt16</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Single" /> instance is cast to an <see cref="T:System.IConvertible" /> interface. The recommended alternative is to call the <see cref="M:System.Convert.ToUInt16(System.Single)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.IConvertible.ToUInt16(System.IFormatProvider)" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the current instance, converted to a <see cref="T:System.UInt16" />.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />This parameter is ignored.</param></Docs></Member><Member MemberName="System.IConvertible.ToUInt32"><MemberSignature Language="C#" Value="uint IConvertible.ToUInt32 (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance unsigned int32 System.IConvertible.ToUInt32(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt32</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Single" /> instance is cast to an <see cref="T:System.IConvertible" /> interface. The recommended alternative is to call the <see cref="M:System.Convert.ToUInt32(System.Single)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.IConvertible.ToUInt32(System.IFormatProvider)" />. </para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the current instance, converted to a <see cref="T:System.UInt32" />.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />This parameter is ignored.</param></Docs></Member><Member MemberName="System.IConvertible.ToUInt64"><MemberSignature Language="C#" Value="ulong IConvertible.ToUInt64 (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance unsigned int64 System.IConvertible.ToUInt64(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Single" /> instance is cast to an <see cref="T:System.IConvertible" /> interface. The recommended alternative is to call the <see cref="M:System.Convert.ToUInt64(System.Single)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.IConvertible.ToUInt64(System.IFormatProvider)" />. </para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The value of the current instance, converted to a <see cref="T:System.UInt64" />.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />This parameter is ignored.</param></Docs></Member><Member MemberName="ToString"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual string ToString()" /><MemberSignature Language="C#" Value="public override string ToString ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ToString() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Single.ToString" /> method formats a <see cref="T:System.Single" /> value in the default ("G", or general) format of the current culture. If you want to specify a different format or culture, use the other overloads of the <see cref="M:System.Single.ToString(System.String)" /> method, as follows: </para><list type="table"><listheader><item><term><para>To use format</para></term><description><para>For culture</para></description><description><para>Use the overload</para></description></item></listheader><item><term><para>Default ("G") format</para></term><description><para>A specific culture</para></description><description><para><see cref="M:System.Single.ToString(System.IFormatProvider)" /></para></description></item><item><term><para>A specific format</para></term><description><para>Default (current) culture</para></description><description><para><see cref="M:System.Single.ToString(System.String)" /></para></description></item><item><term><para>A specific format</para></term><description><para>A specific culture</para></description><description><para><see cref="M:System.Single.ToString(System.String,System.IFormatProvider)" /></para></description></item></list><para></para><para>The return value can be <see cref="P:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol" />, <see cref="P:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol" />, <see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol" />, or a string of the form: </para><para>[sign]integral-digits[.[fractional-digits]][e[sign]exponential-digits] </para><para>Optional elements are framed in square brackets ([ and ]). Elements that contain the term "digits" consist of a series of numeric characters ranging from 0 to 9. The following table lists each element:</para><list type="table"><listheader><item><term><para>Element</para></term><description><para>Description</para></description></item></listheader><item><term><para> sign</para></term><description><para>A negative sign or positive sign symbol. </para></description></item><item><term><para> integral-digits</para></term><description><para>A series of digits specifying the integral part of the number. Integral-digits can be absent if there are fractional-digits. </para></description></item><item><term><para> '.' </para></term><description><para>A culture-specific decimal point symbol. </para></description></item><item><term><para> fractional-digits</para></term><description><para>A series of digits specifying the fractional part of the number. </para></description></item><item><term><para> 'e' </para></term><description><para>A lowercase character 'e', indicating exponential (scientific) notation. </para></description></item><item><term><para> exponential-digits</para></term><description><para>A series of digits specifying an exponent. </para></description></item></list><para>Some examples of the return value are "100", "-123,456,789", "123.45e+6", "500", "3.1416", "600", "-0.123", and "-Infinity".</para><para>The .NET Framework provides extensive formatting support, which is described in greater detail in the following formatting topics:</para><list type="bullet"><item><para>For more information about numeric format specifiers, see <format type="text/html"><a href="580e57eb-ac47-4ffd-bccd-3a1637c2f467">Standard Numeric Format Strings</a></format> and <format type="text/html"><a href="6f74fd32-6c6b-48ed-8241-3c2b86dea5f4">Custom Numeric Format Strings</a></format>. </para></item><item><para>For more information about formatting, see <format type="text/html"><a href="0d1364da-5b30-4d42-8e6b-03378343343f">Formatting Types</a></format>. </para></item></list></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Converts the numeric value of this instance to its equivalent string representation.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The string representation of the value of this instance.</para></returns></Docs><Excluded>0</Excluded></Member><Member MemberName="ToString"><MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)" /><MemberSignature Language="C#" Value="public string ToString (IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string ToString(class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Single.ToString(System.IFormatProvider)" /> method formats a <see cref="T:System.Single" /> value in the default ("G", or general) format of a specified culture. If you want to specify a different format or the current culture, use the other overloads of the <see cref="M:System.Single.ToString(System.String)" /> method, as follows:</para><list type="table"><listheader><item><term><para>To use format</para></term><description><para>For culture</para></description><description><para>Use the overload</para></description></item></listheader><item><term><para>Default ("G") format</para></term><description><para>Default (current) culture</para></description><description><para><see cref="M:System.Single.ToString" /></para></description></item><item><term><para>A specific format</para></term><description><para>Default (current) culture</para></description><description><para><see cref="M:System.Single.ToString(System.String)" /></para></description></item><item><term><para>A specific format</para></term><description><para>A specific culture</para></description><description><para><see cref="M:System.Single.ToString(System.String,System.IFormatProvider)" /></para></description></item></list><para></para><para>The return value can be <see cref="P:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol" />, <see cref="P:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol" />, <see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol" />, or a string of the form: </para><para>[sign]integral-digits[.[fractional-digits]][e[sign]exponential-digits] </para><para>Optional elements are framed in square brackets ([ and ]). Elements containing the term "digits" consist of a series of numeric characters ranging from 0 to 9. The following table lists each element.</para><list type="table"><listheader><item><term><para>Element</para></term><description><para>Description</para></description></item></listheader><item><term><para> sign</para></term><description><para>A negative sign or positive sign symbol. </para></description></item><item><term><para> integral-digits</para></term><description><para>A series of digits specifying the integral part of the number. Integral-digits can be absent if there are fractional-digits. </para></description></item><item><term><para> '.' </para></term><description><para>A culture-specific decimal point symbol. </para></description></item><item><term><para> fractional-digits</para></term><description><para>A series of digits specifying the fractional part of the number. </para></description></item><item><term><para> 'e' </para></term><description><para>A lowercase character 'e', indicating exponential (scientific) notation. </para></description></item><item><term><para> exponential-digits</para></term><description><para>A series of digits specifying an exponent. </para></description></item></list><para>Some examples of the return value are "100", "-123,456,789", "123.45e+6", "500", "3.1416", "600", "-0.123", and "-Infinity".</para><para>The .NET Framework provides extensive formatting support, which is described in greater detail in the following formatting topics:</para><list type="bullet"><item><para>For more information about numeric format specifiers, see <format type="text/html"><a href="580e57eb-ac47-4ffd-bccd-3a1637c2f467">Standard Numeric Format Strings</a></format> and <format type="text/html"><a href="6f74fd32-6c6b-48ed-8241-3c2b86dea5f4">Custom Numeric Format Strings</a></format>. </para></item><item><para>For more information about formatting, see <format type="text/html"><a href="0d1364da-5b30-4d42-8e6b-03378343343f">Formatting Types</a></format>. </para></item></list><para>The <paramref name="provider" /> parameter is an <see cref="T:System.IFormatProvider" /> implementation whose <see cref="M:System.IFormatProvider.GetFormat(System.Type)" /> method returns a <see cref="T:System.Globalization.NumberFormatInfo" /> object. Typically, <paramref name="provider" /> is a <see cref="T:System.Globalization.CultureInfo" /> object or a <see cref="T:System.Globalization.NumberFormatInfo" /> object. The <paramref name="provider" /> parameter supplies culture-specific information used in formatting. If <paramref name="provider" /> is null, the return value is formatted using the <see cref="T:System.Globalization.NumberFormatInfo" /> data for the current culture.</para><para>To convert a <see cref="T:System.Single" /> value to its string representation using a specified culture and a specific format string, call the <see cref="M:System.Single.ToString(System.String,System.IFormatProvider)" /> method. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The string representation of the value of this instance as specified by <paramref name="provider" />.</para></returns><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />An object that supplies culture-specific formatting information. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="ToString"><MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(string format)" /><MemberSignature Language="C#" Value="public string ToString (string format);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance string ToString(string format) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="format" Type="System.String" /></Parameters><Docs><exception cref="T:System.FormatException"><paramref name="format" /> is invalid.</exception><example><para>The following example shows the effects of various
      formats on the string returned by <see cref="M:System.Single.ToString" />
      .</para><code lang="C#">using System;
class test {
 public static void Main() {
   float f = 1234.567f;
   Console.WriteLine(f);
   string[] fmts = {"C","E","e5","F","G","N","P","R"};
   for (int i=0;i&lt;fmts.Length;i++)
     Console.WriteLine("{0}: {1}", 
       fmts[i],f.ToString(fmts[i]));
 }
}
   </code><para>The output is</para><c><para>1234.567</para><para>C: $1,234.57</para><para>E: 1.234567E+003</para><para>e5: 1.23457e+003</para><para>F: 1234.57</para><para>G: 1234.567</para><para>N: 1,234.57</para><para>P: 123,456.70 %</para><para>R: 1234.567</para></c></example><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Single.ToString(System.String)" /> method formats a <see cref="T:System.Single" /> value in a specified format by using the conventions of the current culture. If you want to use the default ("G", or general) format or specify a different culture, use the other overloads of the <see cref="M:System.Single.ToString(System.String)" /> method, as follows:</para><list type="table"><listheader><item><term><para>To use format</para></term><description><para>For culture</para></description><description><para>Use the overload</para></description></item></listheader><item><term><para>Default ("G") format</para></term><description><para>Default (current) culture</para></description><description><para><see cref="M:System.Single.ToString" /></para></description></item><item><term><para>Default ("G") format</para></term><description><para>A specific culture</para></description><description><para><see cref="M:System.Single.ToString(System.IFormatProvider)" /></para></description></item><item><term><para>A specific format</para></term><description><para>A specific culture</para></description><description><para><see cref="M:System.Single.ToString(System.String,System.IFormatProvider)" /></para></description></item></list><para></para><para>The return value can be <see cref="P:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol" />, <see cref="P:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol" />, <see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol" />, or the string representation of the value of the current instance, as specified by <paramref name="format" />.</para><para>The <paramref name="format" /> parameter can be any valid standard numeric format specifier except for D and X, as well as any combination of custom numeric format specifiers. If format is null or an empty string, the return value is formatted with the general numeric format specifier ("G").</para><para>The .NET Framework provides extensive formatting support, which is described in greater detail in the following formatting topics:</para><list type="bullet"><item><para>For more information about numeric format specifiers, see <format type="text/html"><a href="580e57eb-ac47-4ffd-bccd-3a1637c2f467">Standard Numeric Format Strings</a></format> and <format type="text/html"><a href="6f74fd32-6c6b-48ed-8241-3c2b86dea5f4">Custom Numeric Format Strings</a></format>. </para></item><item><para>For more information about formatting, see <format type="text/html"><a href="0d1364da-5b30-4d42-8e6b-03378343343f">Formatting Types</a></format>. </para></item></list><para>By default, the return value only contains 7 digits of precision although a maximum of 9 digits is maintained internally. If the value of this instance has greater than 7 digits, <see cref="M:System.Single.ToString(System.String)" /> returns <see cref="P:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol" /> or <see cref="P:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol" /> instead of the expected number. If you require more precision, specify <paramref name="format" /> with the "G9" format specification, which always returns 9 digits of precision, or "R", which returns 7 digits if the number can be represented with that precision or 9 digits if the number can only be represented with maximum precision.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Converts the numeric value of this instance to its equivalent string representation, using the specified format.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The string representation of the value of this instance as specified by <paramref name="format" />.</para></returns><param name="format"><attribution license="cc4" from="Microsoft" modified="false" />A numeric format string.</param></Docs><Excluded>0</Excluded></Member><Member MemberName="ToString"><MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(string format, class System.IFormatProvider provider)" /><MemberSignature Language="C#" Value="public string ToString (string format, IFormatProvider provider);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string ToString(string format, class System.IFormatProvider provider) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="format" Type="System.String" /><Parameter Name="provider" Type="System.IFormatProvider" /></Parameters><Docs><exception cref="T:System.FormatException"><paramref name="format" /> is invalid.</exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Single.ToString(System.String,System.IFormatProvider)" /> method formats a <see cref="T:System.Single" /> value in a specified format of a specified culture. If you want to use default format or culture settings, use the other overloads of the <see cref="M:System.Single.ToString(System.String)" /> method, as follows:</para><list type="table"><listheader><item><term><para>To use format</para></term><description><para>For culture</para></description><description><para>Use the overload</para></description></item></listheader><item><term><para>Default ("G") format</para></term><description><para>Default (current) culture</para></description><description><para><see cref="M:System.Single.ToString" /></para></description></item><item><term><para>Default ("G") format</para></term><description><para>A specific culture</para></description><description><para><see cref="M:System.Single.ToString(System.IFormatProvider)" /></para></description></item><item><term><para>A specific format</para></term><description><para>Default (current) culture</para></description><description><para><see cref="M:System.Single.ToString(System.String)" /></para></description></item></list><para></para><para>The return value can be <see cref="P:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol" />, <see cref="P:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol" />, <see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol" />, or the string representation of the value of the current instance, as specified by <paramref name="format" />.</para><para>The <paramref name="format" /> parameter can be any valid standard numeric format specifier except for D and X, as well as any combination of custom numeric format specifiers. If <paramref name="format" /> is null or an empty string, the return value for this instance is formatted with the general numeric format specifier ("G").</para><para>The .NET Framework provides extensive formatting support, which is described in greater detail in the following formatting topics:</para><list type="bullet"><item><para>For more information about numeric format specifiers, see <format type="text/html"><a href="580e57eb-ac47-4ffd-bccd-3a1637c2f467">Standard Numeric Format Strings</a></format> and <format type="text/html"><a href="6f74fd32-6c6b-48ed-8241-3c2b86dea5f4">Custom Numeric Format Strings</a></format>. </para></item><item><para>For more information about formatting, see <format type="text/html"><a href="0d1364da-5b30-4d42-8e6b-03378343343f">Formatting Types</a></format>. </para></item></list><para>The <paramref name="provider" /> parameter is an <see cref="T:System.IFormatProvider" /> implementation whose <see cref="M:System.IFormatProvider.GetFormat(System.Type)" /> method returns a <see cref="T:System.Globalization.NumberFormatInfo" /> object. Typically, <paramref name="provider" /> is a <see cref="T:System.Globalization.CultureInfo" /> object or a <see cref="T:System.Globalization.NumberFormatInfo" /> object. The <paramref name="provider" /> parameter supplies culture-specific information used in formatting. If <paramref name="provider" /> is null, the return value is formatted with the <see cref="T:System.Globalization.NumberFormatInfo" /> object for the current culture.</para><para>By default, the return value only contains 7 digits of precision although a maximum of 9 digits is maintained internally. If the value of this instance has greater than 7 digits, <see cref="Overload:System.Single.ToString" /> returns <see cref="P:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol" /> or <see cref="P:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol" /> instead of the expected number. If you require more precision, specify <paramref name="format" /> with the "G9" format specification, which always returns 9 digits of precision, or "R", which returns 7 digits if the number can be represented with that precision or 9 digits if the number can only be represented with maximum precision.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Converts the numeric value of this instance to its equivalent string representation using the specified format and culture-specific format information.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The string representation of the value of this instance as specified by <paramref name="format" /> and <paramref name="provider" />.</para></returns><param name="format"><attribution license="cc4" from="Microsoft" modified="false" />A numeric format string.</param><param name="provider"><attribution license="cc4" from="Microsoft" modified="false" />An object that supplies culture-specific formatting information. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="TryParse"><MemberSignature Language="C#" Value="public static bool TryParse (string s, out float result);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig bool TryParse(string s, float32 result) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="s" Type="System.String" /><Parameter Name="result" Type="System.Single&amp;" RefType="out" /></Parameters><Docs><param name="s">To be added.</param><param name="result">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks><since version=".NET 2.0" /></Docs></Member><Member MemberName="TryParse"><MemberSignature Language="C#" Value="public static bool TryParse (string s, System.Globalization.NumberStyles style, IFormatProvider provider, out float result);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig bool TryParse(string s, valuetype System.Globalization.NumberStyles style, class System.IFormatProvider provider, float32 result) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="s" Type="System.String" /><Parameter Name="style" Type="System.Globalization.NumberStyles" /><Parameter Name="provider" Type="System.IFormatProvider" /><Parameter Name="result" Type="System.Single&amp;" RefType="out" /></Parameters><Docs><param name="s">To be added.</param><param name="style">To be added.</param><param name="provider">To be added.</param><param name="result">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks><since version=".NET 2.0" /></Docs></Member></Members><TypeExcluded>0</TypeExcluded></Type>