Java数学问题-投票计数到百分比 private static int votePercentage(){ 整数=0; 对于(int p=0;h
投票:1 球员:2名 返回:0 投票:2 球员:2名 返回:100 问题 问题是,返回的numer不是int,而是double,因为1/2=0.5。 因此,它将始终返回0,除非玩家的票数除法不是双精度且是整数 基本上,我想返回所有在线玩家中投票用户的百分比Java数学问题-投票计数到百分比 private static int votePercentage(){ 整数=0; 对于(int p=0;h,java,math,Java,Math,投票:1 球员:2名 返回:0 投票:2 球员:2名 返回:100 问题 问题是,返回的numer不是int,而是double,因为1/2=0.5。 因此,它将始终返回0,除非玩家的票数除法不是双精度且是整数 基本上,我想返回所有在线玩家中投票用户的百分比 有解决办法吗?可能是java类或内置函数?您需要使用float(记住更改函数的返回类型!): int只能存储整数;它不能存储小数。只有float和double(用于双精度)可以存储十进制数 您还可以切换公式: float avg = ((fl
有解决办法吗?可能是java类或内置函数?您需要使用
float
(记住更改函数的返回类型!):
int
只能存储整数;它不能存储小数。只有float
和double
(用于双精度)可以存储十进制数
您还可以切换公式:
float avg = ((float)votes / players);
请注意,这将四舍五入到下一个整数。如果确实要使用整数:
return ((votes * 100) / players);
但最好切换到
float
或double
以提高精度。返回((票数*100)/玩家)代码>?@devnull我试过了,这不是问题所在。-1。什么是在线玩家
,投票者
,以及玩家
?你是如何得到你打印的数字的?但最令人恼火的是,如果您的问题确实是需要float
s而不是int
s,那么devnull的答案就可以了。
return ((votes * 100) / players);
int avg = votes * 100 / players;
return avg;