Convert.ToDecimal Method (String)


Converts the specified string representation of a number to an equivalent decimal number.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public static decimal ToDecimal(
	string value


Type: System.String

A string that contains a number to convert.

Return Value

Type: System.Decimal

A decimal number that is equivalent to the number in value, or 0 (zero) if value is null.

Exception Condition

value is not a number in a valid format.


value represents a number that is less than MinValue or greater than MaxValue.

Using the ToDecimal(String) method is equivalent to passing value to the Decimal.Parse(String) method. value is interpreted by using the formatting conventions of the current thread culture.

If you prefer not to handle an exception if the conversion fails, you can call the Decimal.TryParse method instead. It returns a Boolean value that indicates whether the conversion succeeded or failed.

The following example illustrates the use of ToDecimal. It attempts to convert a Stringto a Decimal, and throws the possible exceptions that may arise during the conversion.

public void ConvertStringDecimal(string stringVal) {
	decimal decimalVal = 0;

	try {
		decimalVal = System.Convert.ToDecimal(stringVal);
			"The string as a decimal is {0}.", decimalVal);
	catch (System.OverflowException){
			"The conversion from string to decimal overflowed.");
	catch (System.FormatException) {
			"The string is not formatted as a decimal.");
	catch (System.ArgumentNullException) {
			"The string is null.");

	// Decimal to string conversion will not overflow.
	stringVal = System.Convert.ToString(decimalVal);
		"The decimal as a string is {0}.", stringVal);

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top