根据操作系统编号

Har*_*dik 0 c# formatting decimal

我正在使用.NET 3.5框架和C#我的应用程序将在全球范围内使用.(Windows 7,64位)

我有一个双/浮点数,后来转换成字符串.但是在不同的操作系统上,它正在改变价值,就像46.57变成了46,57

我怎么能阻止这个?.NET可以在内部处理吗?

以下是我的代码;

Decimal lon = Convert.ToDecimal(dt.Rows[j]["lon"]);    
Decimal lat = Convert.ToDecimal(dt.Rows[j]["lat"]);    
lon = lon / 100000;    
lat = lat / 100000;    
string longitude = Convert.ToString(lon);    
string latitude = Convert.ToString(lat);
Run Code Online (Sandbox Code Playgroud)

Pat*_*man 5

正如其他人所解释的那样,这是默认和期望的行为.

您可以使用InvariantCulture以相同的格式始终输出:

string longitude = Convert.ToString
                   ( lon
                   , System.Globalization.CultureInfo.InvariantCulture
                   );
Run Code Online (Sandbox Code Playgroud)