Visual Studio不会将我的字符串转换为十进制
错误:输入字符串的格式不正确。
代码:
string test = "123.95";
decimal test1 = decimal.parse(test); // string being an int "123" doesnt cause this
还有Convert.toDecimal(test);做同样的事。
编辑:感谢您的回答,我在线查看小数的工作原理,每个人都在使用'。'而不是','。 对不起我和这篇文章是多么令人难以置信的愚蠢。再次感谢回答:)答案 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);
它对我有用。