十进制TryParse

时间:2014-07-04 16:07:54

标签: parsing decimal

我遇到了C#方法Decimal.TryParse的问题,使用VS 2012我的代码执行以下操作

decimal number;
bool isDecimal = Decimal.TryParse("123.1", out number);
Console.WriteLine(number);

并且预期的结果是123.1打印到控制台。然而,我将我的项目移动到VS 2013,现在结果是1231,两个环境的框架版本都是.NET 4.5。 我在Ideone.com上做了另一个测试,结果是123.1 http://ideone.com/lJY4Vk 任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

有时,visual studio只接受逗号(,)而不是点(。)作为小数点。请尝试使用逗号,如果有效,则应将CultureInfo更改为InvariantCulture

答案 1 :(得分:0)

如果您的语言不是英语,那么您需要使用CultureInfo。

答案 2 :(得分:0)

使用这个: bool isDecimal = Decimal.TryParse(" 123.1",System.Globalization.NumberStyles.AllowDecimalPoint,CultureInfo.InvariantCulture,out numero);