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
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))
,它成功了。谢谢你的帮助。