我有以下代码来计算帖子中的百分比,但是当我运行此代码时,我总是在perst中获得o作为帐户和帐户的所有值的值。
int perst;
int qcount;
int acount;
perst = (acount / qcount) * 100;
答案 0 :(得分:3)
分割整数时,结果将是整数。这意味着您期望的值为0.75(您似乎认为您将乘以100来获得百分比),然后返回的整数值将仅为0,即前导整数。其余部分可用于%模数运算符。
然而,得到一个你想要的百分比,你需要使用双倍或浮动值来划分。
double perst;
double qcount;
double acount;
perst = (acount / qcount) * 100;
关于除法运算符的MSDN文章 - Good idea to read。
答案 1 :(得分:0)
我认为你有一些整数舍入问题。尝试这样的事情。
int perst;
int qcount = 100;
int acount = 5;
perst = Convert.ToInt32(((double)acount / (double)qcount) * 100);
答案 2 :(得分:0)
虽然舍入几乎肯定是错误的(在为变量赋值之后),但以下工作正常:
int a = 62;
int b = 235;
int percentage = 100*a/b;
Console.WriteLine(percentage);
您不需要使用双打。这使百分比朝零。如果您需要更精确的结果,请使用双倍或单个。