不会将字符串转换为十进制c#(输入字符串的格式不正确。)

时间:2014-03-25 19:22:01

标签: c# string decimal

Visual Studio不会将我的字符串转换为十进制

错误:输入字符串的格式不正确。

代码:

string test = "123.95";
decimal test1 = decimal.parse(test); // string being an int "123" doesnt cause this

还有Convert.toDecimal(test);做同样的事。

编辑:感谢您的回答,我在线查看小数的工作原理,每个人都在使用'。'而不是','。 对不起我和这篇文章是多么令人难以置信的愚蠢。再次感谢回答:)

2 个答案:

答案 0 :(得分:11)

您当前的文化可能不会将.用作小数点分隔符。在解析字符串时尝试指定invariant culture

using System.Globalization;

...

string test = "123.95";
decimal test1 = decimal.Parse(test, CultureInfo.InvariantCulture); 

或者,您可以指定使用所需特定格式的区域性文化:

string test = "123.95";
var culture = new CultureInfo("en-US");
decimal test1 = decimal.Parse(test, culture); 

答案 1 :(得分:1)

使用此代码 -

var test1 = "123.95";
decimal result;
decimal.TryParse(test1, out result);

它对我有用。

相关问题