itog = first/second/third;
所有变量都是int。
如何在没有强制转换的情况下对boxTotal进行舍入以使所有变量加倍?
答案 0 :(得分:2)
两个数字的典型语言无关实现是(a+(b-1))/b
,其中a
和b
是整数。
答案 1 :(得分:0)
当所有这些都是整数时,你不能这样做。其中至少有一个必须是双重或浮动。要舍入到最接近的整数,可以使用Math.Ceiling(value)
但是必须将括号中的内容转换为十进制,结果转换为int。
示例:
int result = (int)Math.Ceiling((decimal)yourExpression);
答案 2 :(得分:0)
如果您不想将所有内容都加倍,那么
itlog = (int)Math.Ceiling(first/(double)second/third);
可能有用,虽然我还没有测试过。你需要施展至少一个加倍,否则分裂将是错误的。
答案 3 :(得分:0)
根据gudok的回答,您可以使用:
itog = (first/second +(third - 1)) / third;