Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# float.TryParse不工作_C# - Fatal编程技术网

C# float.TryParse不工作

C# float.TryParse不工作,c#,C#,我创建了一个计算货币汇率的程序。 该计划包括: ComboboxCurrencyName-显示货币名称 ComboCurrencyValue-显示给定货币的值 txtYourValue-从用户处获取金额的文本框 按钮,该按钮使用用户提供的金额计算给定货币的汇率 我的代码: public void EchangeRate(float x,float y) { label1.Text = (x * y).ToString(); } private void button1_Click(ob

我创建了一个计算货币汇率的程序。 该计划包括:

  • ComboboxCurrencyName-显示货币名称
  • ComboCurrencyValue-显示给定货币的值
  • txtYourValue-从用户处获取金额的文本框
  • 按钮,该按钮使用用户提供的金额计算给定货币的汇率
  • 我的代码:

    public void EchangeRate(float x,float y)
    {
        label1.Text = (x * y).ToString();
    }
    
    private void button1_Click(object sender, EventArgs e)
    {
        if(comboCurrencyName.SelectedIndex==comboCurrencyValue.SelectedIndex)
        {
            float currency;
            float inputValue;
            if(float.TryParse(comboCurrencyValue.SelectedItem.ToString(),out currency)&& float.TryParse(txtYourValue.Text,out inputValue))
            {
                EchangeRate(currency,inputValue);
            }
        }
        else
        {
            MessageBox.Show("Not selected currency ");
        }
    }
    
    当我使用组合框选择给定货币并输入要转换的值时,按下按钮时不会发生任何事情。我认为这是将combobox转换为浮点值的问题

    以前我使用了
    float.Parse()
    我有一个错误:

    System.FormatException:'输入字符串格式无效

    替换为:

    (float.TryParse(comboCurrencyValue.SelectedItem.ToString(), NumberStyles.Any, CultureInfo.InvariantCulture,out currency)&& float.TryParse(txtYourValue.Text,out inputValue)) 
    
    解释:在波兰,使用逗号代替小数点,因此必须指定要使用不变区域性

    替换为:

    (float.TryParse(comboCurrencyValue.SelectedItem.ToString(), NumberStyles.Any, CultureInfo.InvariantCulture,out currency)&& float.TryParse(txtYourValue.Text,out inputValue)) 
    


    解释:在波兰,使用逗号代替小数点,因此必须指定要使用不变区域性

    您的错误
    System.FormatException:“输入字符串格式无效。
    表示该字符串的浮点格式不正确。因此,使用
    float.TryParse
    意味着您永远不会使用if语句(如果您的输入仍然有错误),因为它将返回false。最好的方法是调试应用程序。在按钮1的开始处设置断点,单击,然后按f11继续。使用try-catch块捕获异常。您应该添加到tryparse if语句
    else MessageBox.Show(“无效输入”)消息框显示为@YairHalberstadtSo,输入内容是什么?你在哪个国家?(即,您使用的是什么区域性?)您的错误
    System.FormatException:“输入字符串格式无效。
    表示该字符串的浮点格式不正确。因此,使用
    float.TryParse
    意味着您永远不会使用if语句(如果您的输入仍然有错误),因为它将返回false。最好的方法是调试应用程序。在按钮1的开始处设置断点,单击,然后按f11继续。使用try-catch块捕获异常。您应该添加到tryparse if语句
    else MessageBox.Show(“无效输入”)消息框显示为@YairHalberstadtSo,输入内容是什么?你在哪个国家?(即,您使用的是什么区域性?)我有一个错误:
    没有给出与“float.TryParse(string,NumberStyles,IFormatProvider,out float)”的必需形式参数“result”相对应的参数。
    结果是最后一个参数(货币)。你确定你说的对吗?也许少了一个逗号?啊。你可能在我编辑答案之前就用过了。使用新的。Sorry添加了它:
    if(float.TryParse(comboCurrencyValue.SelectedItem.ToString(),NumberStyles.Any,CultureInfo.InvariantCulture,out currency)和&float.TryParse(txtYourValue.Text,out inputValue))
    ,它成功了。感谢您的帮助。我有一个错误:
    没有给出与“float.TryParse(string,NumberStyles,IFormatProvider,out float)”的必需形式参数“result”相对应的参数。
    结果是最后一个参数(货币)。你确定你说的对吗?也许少了一个逗号?啊。你可能在我编辑答案之前就用过了。使用新的。Sorry添加了它:
    if(float.TryParse(comboCurrencyValue.SelectedItem.ToString(),NumberStyles.Any,CultureInfo.InvariantCulture,out currency)和&float.TryParse(txtYourValue.Text,out inputValue))
    ,它成功了。谢谢你的帮助。