我试图在这里完成的是计算迭代链表的算法进度,但是当我尝试将迭代次数除以链表中的元素总数时,我总是得到0,代码是这样的:
double progress = iteratorCount/crawlerTechnologiesLinkedList.Count;
Console.WriteLine("Progress:" + progress * 100);
,调试会话显示这些值
我一直试图弄清楚为什么进步等于0.0但无济于事。任何帮助将不胜感激。
答案 0 :(得分:5)
你可能只是将一个整数除以一个整数,因为除数大于被除数它会导致0.将其中一个整数首先加倍。
答案 1 :(得分:3)
您将一个整数除以另一个整数,因此执行integer division,结果为0.对于整数之后的,转换为双精度不会发生分裂已经完成。
为了防止这种情况,您需要在分割之前将一个(或两个)操作数强制转换为双精度。
答案 2 :(得分:2)
double progress = ((double) iteratorCount)/((double) crawlerTechnologiesLinkedList.Count);
Console.WriteLine("Progress:" + (progress * 100.0));
以下是我要做的事情。