将数字转换为字符串而不进行任何格式化并使用"。"作为浮点分隔符

时间:2017-10-27 10:56:39

标签: c# asp.net-core iis-express

当我12345.12345 + ""时,我在我的Windows机器的IIS Express上获得了"12345,12345"

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

4 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

这会产生所需的结果:

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

答案 3 :(得分:0)

也许你可以为你的线程设置文化:

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