在C#中将浮点数转换为字符串的最快方法是什么?
如果我的数组包含这个 { 0.1, 1.1, 1.0, 0.2 }
然后我希望每个条目转换为一个字符串,其值由空格分隔,即 "0.1 1.1 1.0 0.2"
Dir*_*mar 18
我会选择最具可读性的string.Join,在大多数情况下也应该具有足够的性能.除非有真正的问题,否则我不会自己运行:
float[] values = { 1.0f, 2.0f, 3.0f };
string s = string.Join(" ", values);
Run Code Online (Sandbox Code Playgroud)
可能是我误解了你的问题,所以如果你想要列举string其他答案.
更明确一点,float.ToString()手动调用然后string.Join()用空格分隔每个结果:
var array = new float[] { 0.1, 1.1, 1.0, 0.2 };
string result = String.Join(" ", array.Select(f => f.ToString(CultureInfo.CurrentCulture));
Run Code Online (Sandbox Code Playgroud)
顺便说一句,
在.NET 2.0/3.0/3.5中只有单一 String.Join(string, string[])
但在.NET 4.0中也有 String.Join<T>(string, IEnumerable<T>)
@ 0xA3使用.NET 4.0中的方法.我也是.所以对于早期版本使用array.Select(..).ToArray()