Math的四舍五入和我们口中的不一样,他们是四舍六入,如果前面的数字是偶数则进1.单数不变化
于是在写的时候发现了这个问题……就专门搞了一个(大佬说有简单的专门用的,)
Console.Write("请输入正数(空格隔开):");
string num = Console.ReadLine();
string[] numArray = num.Split(' ');
double[] numCollection = new double[numArray.Length];
for (int i = 0; i < numCollection.Length; i++)
{
double temp = Convert.ToDouble(numArray[i]);
numCollection[i] = temp;
if (numCollection[i].ToString().Contains("."))
{
if (numCollection[i].ToString().Contains(".5"))
{
int a = (int)numCollection[i] + 1;
Console.WriteLine("{0}四舍五入的结果为:{1}", numCollection[i], a);
}
else
{
int b = (int)Math.Round(numCollection[i], 0);
Console.WriteLine("{0}四舍五入的结果为:{1}", numCollection[i], b);
}
}
else
{
Console.WriteLine("{0}四舍五入的结果为:{1}", numCollection[i], numCollection[i]);
}
}
不过我的方法比较麻烦,是因为是可以输入多个数字来定位,有更简单的,只用一个数字的:
double shuzi = Convert.ToDouble(Console.ReadLine());
int zhuwei = (int)shuzi;
double xiaoshwuei = shuzi - zhuwei;
if (xiaoshwuei >= 0.5)
{
zhuwei++;
}
Console.WriteLine(zhuwei);