C#:检查存储在字符串对象中的值是否为十进制

Shy*_*yju 17 c# decimal

在C#中,我如何检查存储在字符串对象中的值(例如:字符串strOrderId ="435242A")是否为十进制?

Bra*_*don 33

使用Decimal.TryParse函数.

decimal value;
if(Decimal.TryParse(strOrderId, out value))
  // It's a decimal
else
  // No it's not.
Run Code Online (Sandbox Code Playgroud)

  • 仅当任何数字都可以被视为小数时,这才有效。如果您需要区分数字类型,它也会将整数类型视为小数。 (3认同)

Met*_*ght 27

您可以使用Decimal.TryParse检查该值是否可以转换为Decimal类型.如果将结果分配给Double类型的变量,也可以使用Double.TryParse.

MSDN示例:

string value = "1,643.57";
decimal number;
if (Decimal.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);
Run Code Online (Sandbox Code Playgroud)


Jam*_*e M 5

decimal decValue;

if (decimal.TryParse(strOrderID, out decValue)
{ / *this is a decimal */ }
else
{ /* not a decimal */}
Run Code Online (Sandbox Code Playgroud)


小智 5

利用丢弃符号 _ 并使用

if (decimal.TryParse(stringValue, out _))
{
   // valid decimal 
}
else
{
   // not decimal
}
Run Code Online (Sandbox Code Playgroud)