Конвертировать ComboBox в Десятичное, C # - PullRequest
0 голосов
/ 23 марта 2011

Я пытаюсь создать комбинированный список, который содержит текст, и когда каждый текст выбран, текст будет равен десятичному числу, а затем будет использоваться в математическом коде.Я использую C # внутри Visual Studio.

Я новичок, и любая помощь будет принята с благодарностью.

Спасибо, Royal

Ответы [ 4 ]

3 голосов
/ 23 марта 2011

Это должно быть достаточно просто. Вы можете использовать Decimal.Parse(), чтобы преобразовать выбранное значение строки в десятичное:

decimal val = Decimal.Parse(someComboBox.SelectedItem.ToString());
2 голосов
/ 23 марта 2011

Если вы знаете, что строка определенно является десятичным числом, вы можете использовать ответ Джастина, если вы не уверены, является ли это десятичным числом, вы также можете попробовать:

decimal ParseDecimal(string str){
decimal number;

    if(Decimal.TryParse(str, out number)
    {

         return number;
    }
    return decimal.MinValue (or any other value that you know to check against)
}

Где строка, которую вы передаете в метод, является строкой поля со списком.

0 голосов
/ 23 марта 2011

или, если вы уверены, что можете использовать метод преобразования:

десятичное значение = Convert.ToDecimal (comboBox1.SelectedItem.ToString ());

Но поскольку вы сказали, что не знаете, что такое строковое значение (или десятичное, или dobule, или простое перемешивание, или ...), было бы лучше использовать версию проверки Даррена, которая будет проверьте, является ли строка фактическим десятичным значением. Если это так, он будет заключен в квадратные скобки (и тогда вы можете что-то сделать), если это не так, то он переходит к оператору if (вы можете добавить оператор else, чтобы сделать что-то еще.

Митя

0 голосов
/ 23 марта 2011

Вы хотите преобразовать входную строку в десятичную?Это может помочь.http://msdn.microsoft.com/en-us/library/59095yyw.aspx, а также Decimal.TryParse http://msdn.microsoft.com/en-us/library/9zbda557.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...