[英]WP8 - C# - Parsing string to decimal FormatException
我目前正在尝试将字符串“ 277.968”解析为十进制,但是我收到了FormatException异常。
我读到我需要以这种方式执行十进制解析:
string str = "277.968";
decimal.Parse(str, CultureInfo.InvariantCulture);
尽管如此,我还是得到了上述例外。
我能做什么?
编辑:固定浮点数到小数
打印该字符串的长度,报告为80个字符长。
是的,那就是问题所在。 您的字符串不是"277.968"
,而是"277.968\\0\\0\\0\\0\\0\\0(...)"
,并且无法解析。
我的猜测是您已经从某种TextReader
中读取了此内容,但忽略了Read
的返回值, Read
的返回值是已读取的字符数。
因此,例如,如果您当前的代码有效:
char[] risul = new char[80];
reader.Read(risul, 0, risul.Length);
decimal value = decimal.Parse(new string(risul), CultureInfo.InvariantCulture);
那么您应该拥有:
char[] risul = new char[80];
int charsRead = reader.Read(risul, 0, risul.Length);
decimal value = decimal.Parse(new string(risul, 0, charsRead),
CultureInfo.InvariantCulture);
...尽管这仍然假设您在一次Read
读取了所有适当的数据,但不一定如此。 您可能只想:
string data = reader.ReadToEnd();
decimal value = decimal.Parse(data, CultureInfo.InvariantCulture);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.