将数字转换为字符串,无需任何格式并使用“。”作为浮点分隔符

Convert number to string without any formating and using "." as floating point separator

当我执行 12345.12345 + "" 时,我在 windows 机器的 IIS Express 上得到 "12345,12345"

我需要将数字转换为其他程序可以解析的标准表示形式,即 XXXX.XXXX - 没有空格,没有逗号。怎么做?

这会产生所需的结果:

Convert.ToString(12345.12345, System.Globalization.CultureInfo.InvariantCulture);

Convert.ToString 方法有一个重载,允许第二个参数是用于创建数字的字符串表示形式的 CultureInfo。 CultureInfo.InvariantCulture 是包含 .作为小数分隔符。将所有内容放在一起得到

string myString = Convert.ToString(12345.12345, CultureInfo.InvariantCulture);

double.ToString() 的功能应该很神奇:

double number = 1234.1234;
string s = number.ToString(CultureInfo.InvariantCulture);

也许你可以为你的话题设置文化:

string lsOut = (1234.1234 + "").ToString();
Console.WriteLine(lsOut);

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(System.Threading.Thread.CurrentThread.CurrentCulture.LCID);
System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator = ".";
System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberGroupSeparator = "";

lsOut = (1234.1234 + "").ToString();
Console.WriteLine(lsOut);

输出为(如果先设置 de-DE):

1234,1234
1234.1234