如何计算百分比

时间:2014-11-28 15:37:15

标签: c# string double percentage

我想计算一个百分比。我的代码是:

Bot.Log("[ KEYBOT ] The total is " + (suctrades * totaltrades ) / 100 + "% !");

如果我这样做,我只会得到0.我做错了什么?

3 个答案:

答案 0 :(得分:0)

尝试:

Bot.Log("[ KEYBOT ] The total is " + ((double)suctrades * totaltrades ) / 100 + "% !");

我认为 suctrades totaltrades 不是十进制类型。这应该解决这个问题,因为在评估表达式时类型传播。

答案 1 :(得分:0)

可能suctrades * totaltrades仍然是int。最简单的方法可能是将代码更改为:

((double)suctrades) * totaltrades/100

或者

suctrades * totaltrades/100.0

强制使用double代替int

答案 2 :(得分:0)

Int是整数类型;除以两个整数执行整数除法,即小数部分被截断,因为它不能存储在结果类型中(也是int!)。相比之下,十进制有一个小部分。通过调用Decimal.Divide,您的int参数将隐式转换为Decimal。

您可以通过显式地将至少一个参数强制转换为浮点类型来强制对int参数进行非整数除法,例如:100.0m这是转换为十进制!

decimal result = suctrades * totaltrades/100.0m