为了练习,我正在重新做上一次考试,我们得到了一个带有返回字符串eg的简单方法的欧洲.dll文件。10,20;34,5;12,3;问题不是在欧洲,而是欧洲。对于点值,我们使用逗号。所以当我试图解析它时,它不会给出正确的值,或者根本不想解析。
// method.call() is just an example for calling the .dll method that returns the European format
double number;
if(!double.TryParse(method.call(), out number)) throw new ArgumentException("this is not a double");我试着用Console.WritLine()来显示输出,它用逗号显示数字。所以我想这就是问题所在。因为当我输入带有点的数字时,它工作得很好。
发布于 2019-08-25 09:00:56
您可以使用此TryParse重载。通过传递用于解析的CultureInfo,您可以切换到欧洲文化。
var value = "12,3";
var culture = CultureInfo.CreateSpecificCulture("de"); // german culture info
if (Double.TryParse(value, NumberStyles.Number, culture, out var number))
Console.WriteLine("Converted '{0}' to {1}.", value, number);
value = "12.3";
culture = CultureInfo.CreateSpecificCulture("en-US"); // american culture info
if (Double.TryParse(value, NumberStyles.Number, culture, out number))
Console.WriteLine("Converted '{0}' to {1}.", value, number);https://stackoverflow.com/questions/57644535
复制相似问题