文章目的
写本文的目的,是为了提醒自己,后续的欧洲项目需要注意,当电脑的时区和语言切换到德语后,程序如果不注意修改小数点的符号,会导致数字变的特别大,因为德语区的小数点是逗号“,”,逗号如果在数字转换的过程中,会被认为是千分位,直接忽略掉。例如:10,123转换后就是10123,实际应该转换为10.123,这个差别就很大了。
我写了一个简易的方法,以后可以直接调用。
/// <summary>
/// 如果电脑小数点是逗号,则转换点号为逗号
/// </summary>
/// <param name="Value"></param>
/// <returns></returns>
private string ChangePointDotation(string Value)
{
string s = System.Globalization.NumberFormatInfo.CurrentInfo.CurrencyDecimalSeparator;
if (s == ",") return Value = Value.Replace('.', ',');//德语必须转换,逗号代表小数点
else return Value;
}