我尝试使用我编写的程序阅读Excel文档并根据读取的信息,更改我的UI上的某些字段,然后我遇到了一个有趣的问题。
我的一个专栏有可能容纳4种不同类型的数据。行中的每个单元格可能包含一个数字,一个以文本,文本或任何内容存储的数字。
这是我用来阅读本专栏的代码部分:
try
{
string dtTerritory = dt.Rows[0].Field<string>("Territory");
cmbTerritory.SelectedItem = dtTerritory;
territory = dtTerritory;
}
catch
{
double dtTerritory = dt.Rows[0].Field<double>("Territory");
cmbTerritory.SelectedItem = dtTerritory.ToString();
territory = dtTerritory.ToString();
}
我遇到的问题是读取存储为文本的数字,问题是,当数字作为文本存储在Excel工作表上时,它总是存储为3个字符。因此,如果数字为3,则将其存储为&#34; 3&#34; (3之后2个空格)如果是46,则存储为&#34; 46&#34; (46后的1个空格)。
所以我基本上寻找最好的解决方案,让我可以让程序忽略数字后出现的空格。有什么想法吗?
答案 0 :(得分:1)
我只是将数据作为文本读取,然后对其进行处理,看看是否可以将其转换为数字。
因此,在第一个实例中,您需要修剪文本:
dtTerritory = dtTerritory.Trim();
然后检查它是否是一个空字符串:
if (!string.IsEmptyOrWhileSpace(dtTerritory))
{
// Process further
}
然后您的进一步处理是尝试解析文本:
double value;
if (double.TryParse(dtTerritory, out value))
{
// do your double value handling here.
}