我正在开发一个项目 - 我必须从Excel单元格中读取值并进行某种计算。 下面是我试过的代码,str表示带有引号的Excel的值.-我想将其转换为Int进行进一步计算。
问题是我无法转换" str"值为整数
String str ="1.00";
str = str.Replace(@"""", @"\""");
str = str.Replace("\"", "\\\"");
if (Int32.TryParse(str, out i))
{
Console.WriteLine(i);
}
答案 0 :(得分:3)
正如其他人提到的那样,您尝试将1.00
解析为Integer
,而1.00
实际上是Double
数据类型而不是Integer
。如果你想最终使用整数,我建议先转换为double,然后转换为整数:
if (Double.TryParse(str, out i))
{
Console.WriteLine(Convert.ToInt32(i));
}
要从字符串值中删除引号,可以使用Substring方法,因为每个值在开头和结尾都有引号。该方法使用startIndex
值并且子串的length
被裁剪掉。我们可以从第二个字符开始子串,直到str.Length - 1
,如下所示:
String str ="1.00";
str = str.Substring(0,(str.Length)-1); // new value of str will be 1.00