static int CutDou(double num) //四舍五入运算
{
string str = Convert.ToString(num);
int res;
string num2;
string[] tempStr = str.Split('.');
res = Convert.ToInt32(tempStr[0]);
num2 = tempStr[1];
int[] intArray = new int[num2.Length];
int index = 0;
foreach (char tempChar in num2)
{
intArray[index] = Convert.ToInt32(tempChar);
index++;
}
for (int i = intArray.Length - 1; i > 0; i--)
{
if (intArray[i] >= 5)
{
intArray[i - 1] ++;
}
}
if (intArray[0] >= 5)
{
res++;
}
return res;
}
这是我写的一个四舍五入的函数,但是最后使用的结果却是无论输入什么样的小数实参,最终所得结果都会进一位。
我实在是百思不得其解,不知道哪里出了问题,希望各位大佬可以给我指点迷津,实在是感谢了
{
string str = Convert.ToString(num);
int res;
string num2;
string[] tempStr = str.Split('.');
res = Convert.ToInt32(tempStr[0]);
num2 = tempStr[1];
int[] intArray = new int[num2.Length];
int index = 0;
foreach (char tempChar in num2)
{
intArray[index] = Convert.ToInt32(tempChar);
index++;
}
for (int i = intArray.Length - 1; i > 0; i--)
{
if (intArray[i] >= 5)
{
intArray[i - 1] ++;
}
}
if (intArray[0] >= 5)
{
res++;
}
return res;
}
这是我写的一个四舍五入的函数,但是最后使用的结果却是无论输入什么样的小数实参,最终所得结果都会进一位。
我实在是百思不得其解,不知道哪里出了问题,希望各位大佬可以给我指点迷津,实在是感谢了