如何在C#中拆分6.3到0.3,1.3,2.3,3.3,4.3,5.3,6.3?

Sha*_*ang -4 c#

是否有任何优雅的方法在C#中输入float 6.3和输出float数组{0.3,1.3,2.3,3.3,4.3,5.3,6.3}?

给定一个浮点数ab,如果a = 5,b = 3,那么我需要一个浮点数组{0.3,1.3,2.3,3.3,4.3,5.3}

input:3.2  -> a float 
output:{0.2,1.2,2.2,3.2} -> a float array
Run Code Online (Sandbox Code Playgroud)

Tim*_*ter 6

也许:

float f = 6.3f;
float[] ff = Enumerable.Range(0, (int)Math.Ceiling(f))
    .Select(i => (float)Math.Round(i + (f - (int)f), 1))
    .ToArray(); 
Run Code Online (Sandbox Code Playgroud)

演示

0.3
1.3
2.3
3.3
4.3
5.3
6.3
Run Code Online (Sandbox Code Playgroud)

  • 这就是我喜欢的方式 - 一个没人理解的简短单线:-) (7认同)