Проверка входных данных C # Проверка на положительные числа - PullRequest
1 голос
/ 09 октября 2011

Я изучаю C # и застрял на проблеме, где я должен проверить, вводил ли пользователь ДЕЙСТВИТЕЛЬНУЮ сумму в валюте. т.е. без алфавитного символа и без отрицательных чисел.

Пока у меня все в программе завершено, КРОМЕ данного конкретного подтверждения ввода.

для преобразования ввода в числовые значения, которые у меня есть: originalRate = Double.Parse (txtValue.Text);

тогда ниже того, что я озадачен, я возился с: bool isValid = Double.TryParse (txtValue.Text,);

Общая компилятор Ошибка времени выполнения, которую я получаю во время возни, составляет Входная строка была в неправильном формате . Что я знаю, это то, что я проверяю. Я знаю, что это супер базовые вещи (это мой первый класс C #). Я искал переполнение стека, и ни одно из подобных решений не имеет для меня особого смысла. Мне сказали использовать TryParse метод класса decimal , однако мне кажется, что я использую его неправильно и не полностью.

Заранее благодарю за помощь.

Ответы [ 2 ]

3 голосов
/ 09 октября 2011

Вот как вы используете double.TryParse()

double d;
bool isValid = Double.TryParse(txtValue.Text, out d);

на странице MDSN есть несколько примеров.

Для анализа строки валюты можно использовать вторую перегрузкуdouble.TryParse()

и попробуйте что-то вроде

double d;
bool isValid = double.TryParse(txtValue.Text, NumberStyles.Currency, CultureInfo.GetCultureInfo("en-US"), out d);
2 голосов
/ 09 октября 2011
double result;

if (double.TryParse(txtValue.text, out result))
{
    // The user typed a valid number.
    // Do something with it (it’s in “result”).
}
else
{
    // The user typed something invalid.
    MessageBox.Show("Please type in a number.");
}
...