Numeric Parse Method

80酷酷网    80kuku.com

  The Parse method converts a string that represents a .NET Framework numeric base type to an actual .NET Framework numeric base type. It takes the following forms, where XXX is the name of the numeric base data-type class:

public static XXX Parse(String s);
public static XXX Parse(String s, NumberStyles style);
public static XXX Parse(String s, NumberStyles style, NumberFormatInfo info);
The Parse method takes a combination of three parameters: the string to be converted, one or more values from the NumberStyles enumeration , and a NumberFormatInfo class. All numeric strings produced by the Parse method, except hexadecimal strings, will always be parsable by this method. Because the Parse method assumes that all string input represents a base-10 value, no non base-10 values are parsable. It will also not parse strings that represent the values NaN, PositiveInfinity, or NegativeInfinity of the Single and Double classes because they are not real numbers.

The following example converts a string to an int value, increments that value, and displays the result.

[C#]
string MyString = "12345";
int MyInt = int.Parse(MyString);
Myint++
Console.WriteLine(MyInt);
//Results in "12346"
The NumberStyles enumeration is usefull if you have a string that contains non-numeric characters that you want converted into a .NET Framework numeric base type. For example, a string that contains commas, parentheses, or currency symbols cannot be converted to an int value under the Parse method if the NumberStyles enumeration is not used. The following code is invalid and will raise an exception with the message, "The input string wasn't in the correct format."

[C#]

string MyString = "123,456";
int MyInt = int.Parse(MyString);
Console.WriteLine(MyInt);
//Raises exception
When you apply the NumberStyles enumeration with the AllowThousands flag, the Parse method will ignore the comma that raised the exception in the previous example. The following example uses the same string as the previous example, but does not raise an exception.

[C#]

string MyString = "123,456";
int MyInt = int.Parse(MyString, NumberStyles.AllowThousands);
Console.WriteLine(MyInt);
//Results in "123456"

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: