将ComboBox转换为Decimal,C#

时间:2011-03-23 15:27:32

标签: c# math combobox

我正在尝试创建一个包含文本的组合框,当选择每个文本时,文本将等于小数,然后在数学代码中使用。我在Visual Studio中使用C#。

我是初学者,非常感谢任何帮助。

谢谢, 皇家

4 个答案:

答案 0 :(得分:3)

这应该相当简单。您可以使用Decimal.Parse()将所选字符串值转换为小数:

decimal val = Decimal.Parse(someComboBox.SelectedItem.ToString());

答案 1 :(得分:2)

如果您知道该字符串肯定是十进制的,您可以使用Justin的答案,如果您不确定它是否为十进制,您也可以尝试:

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)
}

传递给方法的字符串是组合框字符串。

答案 2 :(得分:0)

您是否希望将输入字符串转换为十进制?这可能有所帮助。 http://msdn.microsoft.com/en-us/library/59095yyw.aspx以及Decimal.TryParse http://msdn.microsoft.com/en-us/library/9zbda557.aspx

答案 3 :(得分:0)

或者如果您确定可以使用转换方法:

  

十进制val =   Convert.ToDecimal(comboBox1.SelectedItem.ToString());

但是因为你说你不确定字符串值是什么(或者是小数,或者是一个小数,或者是一个简单的搅拌,还是......)最好使用Darren的检查版本,这将是检查字符串是否是实际的十进制值。如果是,它将进入括号(然后你可以做一些事情),如果不是,那么它将覆盖if语句(你可以添加一个else语句来做其他事情。

米蒂亚