假如有个数字i1=3545.5 i2=3354.5 i3=3000.6 i4=99.4 t=10000
我要算i1 和i2的百分比
直接i1/t=0.35455 i2/t=0.33545 i3/t=0.30006 i4/t=0.00994
一般情况都会保留两位小数
0.3546 0.3356 0.3001 0.0099
那么上面的数加起来就超过了1
如果不四舍五入的话 强制保留2为小数
0.3545 0.3354 0.3000 0.0099
这样又不等于1了
大家有没有更好的办法 求百分比的啊?

解决方案 »

  1.   

    float i1 = 3545.5F;
            float i2=3354.5F;
            float i3=3000.6F; 
            float i4=99.4F; 
            float t=10000;
            float f1 = (float)i1 / t;
            float f2 = (float)i2 / t;
            float f3 = (float)i3 / t;
            float f4 = (float)i4 / t;
            float f = f1 + f2 + f3 + f4;
            Response.Write(f.ToString());