Qua*_*nel 0 c# arrays precision
使用 C#,在不改变类型的情况下将浮点数数组的精度降低 n 位的有效方法是什么?
例子:
float[]{1.34, 2.22, 2.32, 7.71}
Run Code Online (Sandbox Code Playgroud)
变成
float[]{1.00, 2.00, 2.00, 8.00}
Run Code Online (Sandbox Code Playgroud)
或者
float[]{1.30, 2.20, 2.30, 7.70}
Run Code Online (Sandbox Code Playgroud)
var array = new float[]{1.34f, 2.22f, 2.32f, 7.71f};
for (int i = 0; i < array.Length; i++) {
array[i] = MathF.Round(array[i], 1); // the second argument is the number of digits after the dot
}
Run Code Online (Sandbox Code Playgroud)
这将修改现有的数组,结果将是float[]{1.30f, 2.20f, 2.30f, 7.70f}
如果你想创建一个新数组:
var array = new float[]{1.34f, 2.22f, 2.32f, 7.71f};
var roundedArray = array.Select(x => MathF.Round(x, 1)).ToArray(); // or .ToList()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
118 次 |
| 最近记录: |