【发布时间】:2014-08-30 07:30:50
【问题描述】:
对不起,这个基本问题, 我必须将 long 变量除以另一个 long 变量,但它返回 0。 谁能帮忙
long a = 3004230;
long b = 6793368;
long c = (a/b)*100;
【问题讨论】:
-
long c = (long)((a/(float)b)*100); -
你在提问之前搜索过你的问题吗? stackoverflow.com/questions/18117014/… 或 stackoverflow.com/questions/6766120/… 或很多老问题
-
如果您不需要十进制值,请使用
long c = (a*100L/b),long c = (a/b)*100被评估为(a/b)*100 --> (3004230/6793368)*100 --> (0L)*100 --> c=0,因此它将始终为零,而(a*100L/b) --> (300423000/6793368) --> (44L) --> c=44 -
长 c = 100L *a/b
标签: java variables types casting