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

Pep*_*pps 5 c# string decimal

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

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

码:

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

还有Convert.toDecimal(测试); 做同样的事情.

编辑:谢谢你的答案,我在网上看小数如何工作,每个人都在使用'.' 并不是 ','.对不起我和这篇文章是多么令人难以置信的愚蠢.再次感谢answeres :)

p.s*_*w.g 13

您当前的文化很可能不会.用作小数分隔符.在解析字符串时尝试指定不变文化:

using System.Globalization;

...

string test = "123.95";
decimal test1 = decimal.Parse(test, CultureInfo.InvariantCulture); 
Run Code Online (Sandbox Code Playgroud)

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

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