【发布时间】:2014-03-01 14:34:59
【问题描述】:
我目前正在尝试将字符串“277.968”解析为十进制,但出现 FormatException 异常。
我已经读到我需要以这种方式执行十进制解析:
string str = "277.968";
decimal.Parse(str, CultureInfo.InvariantCulture);
不过,我得到了上述异常。
我能做什么?
编辑:将浮点数固定为十进制
【问题讨论】:
-
这是您的 exact 代码,还是您实际上是从其他地方解析字符串?例如,我想知道值中是否存在一些不可见的字符。
-
我目前的确切代码如下: Debug.WriteLine(new string(risul)); Debug.WriteLine(decimal.Parse(new string(risul), CultureInfo.InvariantCulture));当第一行正确打印“277.968”时,第二行抛出异常
-
你为什么使用
new string(risul)?risul的类型是什么?你能打印字符串的 length 吗?数据从何而来?请注意,您在问题中指定了float.Parse,但在评论中指定了decimal.Parse- 它是什么?如果您尝试decimal.Parse("277.968", CultureInfo.InvariantCulture),会发生什么? -
risul 实际上是一个字符数组。打印字符串的长度,它报告它有 80 个字符长。修复了小数/浮点部分,只是打字错误
-
我这样检查字符串长度:Debug.WriteLine("Length: " + new string(risul).Length);
标签: c# parsing windows-phone-8 decimal culture