我有一个从函数返回的字符串,返回的值为 12.0,但是当我使用 Convert.ToInt32(string) 或 ToInt32.Parse(string) 将其转换为 Int 时,出现错误“输入字符串的格式不正确.
请帮助我哪里出错了
谢谢普里亚
我有一个从函数返回的字符串,返回的值为 12.0,但是当我使用 Convert.ToInt32(string) 或 ToInt32.Parse(string) 将其转换为 Int 时,出现错误“输入字符串的格式不正确.
请帮助我哪里出错了
谢谢普里亚
Convert.ToInt32
内部使用Int32.Parse
它不支持小数位数,因此尾随 .0 会导致异常。但是,您可以使用 的重载Int32.Parse
,即接受NumberStyles
枚举的重载:
int number = Int32.Parse("12.0", NumberStyles.Float);
尝试使用 int.TryParse(string val, out int); 方法并检查任何与文化相关的设置 12,0 vs 12.0