c# Windows 8应用程序和转换文本框为整型

本文关键字:文本 整型 转换 Windows 应用程序 | 更新日期: 2023-09-27 18:12:35

我正在尝试制作BMI计算器,我在这行代码上得到invalidcastexception。

int heightInchToFoot = (12 * Convert.ToInt32(heightFtBox)) + Convert.ToInt32(heightInchBox); 

我已经将输入范围设置为highightftbox和hightinchbox,这两个都是文本块,所以我不知道为什么会发生这种异常。有人能帮我吗?

c# Windows 8应用程序和转换文本框为整型

您可能应该使用TextBlock的Text属性来获取内容。试一试:

int heightInchToFoot = (12 * Convert.ToInt32(heightFtBox.Text)) + Convert.ToInt32(heightInchBox.Text);

忘记Convert类的存在。它的方法接受object参数,有效地克服了类型检查。

如果您使用int.Parse(或int.TryParse用于本地错误处理)对数值进行解析,则当您试图传递UI小部件而不是字符串时,编译器会捕获您。正如Mark Peters指出的,您想要的字符串是小部件的Text属性。

numerictype .Parse函数也接受一个可选参数来控制转换的区域设置。