[英]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.