***(C#+Asp.net 2.0)舍小数变整数的问题(只要小数点后有数字,小数都舍去,整数加一),怎么办?
例如C =A/B,要求C的值是整数
如果A/B等于3.1,那么C的值是4
如果A/B等于333.3333,那么C的值是334
问题点数:20、回复次数:11Top
1 楼webwait(webwei)回复于 2006-05-01 14:35:48 得分 1
就是取整加1Top
2 楼yistudio(阳光灿烂的日子)回复于 2006-05-01 15:14:35 得分 1
如果A和B都是整数,那么A/B也必是整数(是舍弃小数部分的整数),所以直接写C =A/B+1就可以了Top
3 楼aspdotnet2005(天中之子、为中原喝采![我想找兼职MSN:Red-Maple@hotmail.com])回复于 2006-05-01 16:38:26 得分 2
res=C.ToString();
if(res.IndexOf(".")>0)
{
res=C.ToString("f0");
C=Convert.ToInt32(res)+1;
}Top
4 楼kisssuner()回复于 2006-05-01 17:40:07 得分 0
回二楼和三楼的大大,如果A=10,B=2,或A=10,B=10这种能被整除的情况,你们说的结果就不对了.Top
5 楼silentwins(原谅我当天不懂得珍惜只知任性...)回复于 2006-05-01 17:48:33 得分 3
C=Math.Ceiling(A/B)
Top
6 楼Ivony(授人以鱼不如授人以渔,上海谋生)回复于 2006-05-01 17:52:27 得分 2
想想办法:
C = A / B + (A % B == 0 ? 0 : 1)Top
7 楼Ivony(授人以鱼不如授人以渔,上海谋生)回复于 2006-05-01 17:54:36 得分 0
你没有说负数的处理情况……所以上面的表达式不保证在有负数的会得到你期望的结果……Top
8 楼kisssuner()回复于 2006-05-01 17:56:24 得分 0
回楼上大大,当A/B等于整数的时候就会报编译错误,Math.Ceiling要求必须是小数Top
9 楼fluxayxxx(阿茂)回复于 2006-05-01 20:02:27 得分 1
直接对c取字符,.后面的不要了,剩下的部分加1
没有点就不加Top
10 楼ericfine(埃里克)回复于 2006-05-03 01:54:07 得分 5
int C = (int)Math.Ceiling((double)A / B);Top
11 楼winner2050(winner)回复于 2006-05-03 01:56:20 得分 5
这种叫“进一法”
LZ表达能力有限啊。
public static int CutPage(double TotalNo, double PageSize)
{
return (int)Math.Ceiling(TotalNo / PageSize);
}Top




