3 回答
TA贡献1856条经验 获得超11个赞
您试图Format在一个字符串上执行,它只会产生相同的字符串作为结果。
您想解析字符串并将IFormatProvider实现传递给Parse“理解”正在解析的数字的字符串表示形式中的含义,和.含义的方法。
在下面的示例中,我使用了nl-NL与您在问题中所期望的含义相同的文化(.用于分隔千位和,分隔数字的小数部分)。
const string inputText = "30,500";
var result = float.Parse(inputText, NumberStyles.AllowDecimalPoint, System.Globalization.CultureInfo.GetCultureInfo("nl-NL"));
Console.WriteLine("Parsed {0} to value {1}", inputText, result);
TA贡献1951条经验 获得超3个赞
您可以创建自定义 NumberFormatInfo
var nf = new System.Globalization.NumberFormatInfo();
nf.NumberDecimalSeparator = ",";
nf.NumberGroupSeparator = " ";
并用它来解析数值
Console.WriteLine(float.Parse("30,5000", nf));
TA贡献1810条经验 获得超4个赞
嗯,我有一个解决方案,但它不会是最好的,但它会起作用。当您处理字符串时,您可以使用此函数
string converter(string s)
{
s = s.Replace('.',',');
return s;
}
还检查此链接 https://msdn.microsoft.com/en-us/library/czx8s9ts(v=vs.110).aspx
- 3 回答
- 0 关注
- 185 浏览
添加回答
举报