C# 在双数组中舍入所有元素

C# 在双数组中舍入所有元素,c#,arrays,C#,Arrays,我需要帮助,试图找出如何将双数组中的所有元素四舍五入到小数点后4位。我想我需要使用Array.ForEach语句或ForEach语句,但语法似乎不正确 该数组具有如下数字(x/y坐标): "0;24;5.99753782108473;21.770136316906;8.32805512530786;19.3909999184418" d1 = d1.Select(d => Math.Round(d*16) / 16).ToArray(); 它们来自Autocad,最长可达15位小数。我

我需要帮助,试图找出如何将双数组中的所有元素四舍五入到小数点后4位。我想我需要使用
Array.ForEach
语句或
ForEach
语句,但语法似乎不正确

该数组具有如下数字(x/y坐标):

"0;24;5.99753782108473;21.770136316906;8.32805512530786;19.3909999184418"
d1 = d1.Select(d => Math.Round(d*16) / 16).ToArray();
它们来自Autocad,最长可达15位小数。我只需要一个1/16“的精度,我想做的事,这样我就可以四舍五入到4位小数,而不会损害任何东西


目前我正在使用
Math对需要的值进行四舍五入。Round(d1,4)
-d1是数组名。但是我认为立即对整个数组进行四舍五入将“更干净”“

如果您需要1/16的精度,请将您的数字乘以16,四舍五入,再除以16。因为16是2的幂,
double
将提供它的精确表示

要一次性转换整个数组,请使用LINQ:首先,为每个项选择新值,然后将结果转换回数组,如下所示:

"0;24;5.99753782108473;21.770136316906;8.32805512530786;19.3909999184418"
d1 = d1.Select(d => Math.Round(d*16) / 16).ToArray();

您需要使用
System.Linq
来编译此文件。

通常四舍五入用于显示目的。如果没有必要,为什么要旋转?
 i think you can use foreach like this :
 double array_value
 foreach(Double arry in yourArray){
   array_value = Math.Round(arry,4);
 }