我正在使用HtmlAgilityPack从各种网站检索信息,如下所示。调试中为fhfaRate = "3.62"
,但isNum
为false
和myRate = 0.0
。
我在"3.62"
中键入TryParse
,这样可以正常工作,但如果我从fhfaRate
复制值(在调试中)并粘贴到TryParse
,则会返回false
1}}尽管看起来像这样 - "3.62"
。
就像"3.62" <> "3.62"
一样,我很难过。
doc = web.Load(fhfaUrl);
string fhfaRate = doc.DocumentNode.SelectSingleNode("//td[@class='tg-s6z2 ms-rteTableEvenCol-4']/p").InnerText;
decimal myRate;
bool isNum = Decimal.TryParse(fhfaRate, NumberStyles.Any, CultureInfo.InvariantCulture, out myRate);
答案 0 :(得分:1)
感谢那些帮助过的人。事实证明,字符串的CharArray
附加了零宽度空间(8203)。我在前4个字符中使用了一个子字符串,瞧,我有一个十进制值。
在我这样做后我开始思考 - 如果值变为2位数就会破坏,所以我环顾四周找到了它。
InnerText.Replace((char)0x200B, ' ');