Подтвердить что ты не робот

С#: Проверить значение, хранящееся внутри строкового объекта, равно десятичному или нет.

в С#, как я могу проверить, является ли значение, хранящееся внутри строкового объекта (Ex: string strOrderId = "435242A" ) десятичным или нет?

4b9b3361

Ответ 1

Используйте функцию Decimal.TryParse.

decimal value;
if(Decimal.TryParse(strOrderId, out value))
  // It a decimal
else
  // No it not.

Ответ 2

Вы можете использовать Decimal.TryParse, чтобы проверить, можно ли преобразовать значение в десятичный тип. Вы также можете использовать Double.TryParse вместо этого, если назначить результат переменной типа Double.

Пример 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);

Ответ 3

decimal decValue;

if (decimal .TryParse(strOrderID, out decValue)
{ / *this is a decimal */ }
else
{ /* not a decimal */}

Ответ 4

вы можете попробовать его разбор:

string value = "123";
decimal result;
if (decimal.TryParse(value, out result))
{
    // the value was decimal
    Console.WriteLine(result);
}

Ответ 5

Этот простой код позволит целочисленное или десятичное значение и отклоняет алфавиты и символы.

      foreach (char ch in strOrderId)
        {
            if (!char.IsDigit(ch) && ch != '.')
            {

              MessageBox.Show("This is not a decimal \n");
              return;
            }
           else
           {
           //this is a decimal value
           }

        }