C#将字符串(123.4)(4645.2)(125.8)(222.5)(456.8)转换成int型
时间: 2023-10-14 07:06:09 浏览: 37
将带小数点的字符串转换为整数需要注意精度的丢失。如果你确定这些字符串都可以转换为整数并且不会造成精度丢失,可以使用Convert.ToInt32()方法将它们转换为整数,示例代码如下:
```
string[] strs = new string[] { "123.4", "4645.2", "125.8", "222.5", "456.8" };
int[] ints = new int[strs.Length];
for (int i = 0; i < strs.Length; i++)
{
ints[i] = Convert.ToInt32(strs[i]);
}
```
如果字符串可能造成精度丢失,可以先将字符串转换为浮点数,然后使用Math.Round()方法四舍五入取整,最后再转换为整数,示例代码如下:
```
string[] strs = new string[] { "123.4", "4645.2", "125.8", "222.5", "456.8" };
int[] ints = new int[strs.Length];
for (int i = 0; i < strs.Length; i++)
{
double d = double.Parse(strs[i]);
ints[i] = (int)Math.Round(d, 0, MidpointRounding.AwayFromZero);
}
```
其中,double.Parse()方法将字符串转换为浮点数,Math.Round()方法的第一个参数是要四舍五入取整的浮点数,第二个参数是保留小数点后几位,第三个参数是取整的方式,AwayFromZero表示向最近的整数舍入,远离零的方向。