в С#, как я могу проверить, является ли значение, хранящееся внутри строкового объекта (Ex: string strOrderId = "435242A" ) десятичным или нет?
С#: Проверить значение, хранящееся внутри строкового объекта, равно десятичному или нет.
Ответ 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
}
}