所以我对尝试了多少次感到沮丧。
我在这里使用#/ 100 =%* Balance =罚款,但是由于某些原因始终会导致结果为0。请注意,这使用了外部API。

double fine = (getConfig().getBoolean("fineispercentage") == true ? getConfig().getInt("fine") / 100 * count * econ.getBalance(event.getPlayer().getName()) : econ.getBalance(event.getPlayer().getName()) - (econ.getBalance(event.getPlayer().getName()) - count * getConfig().getInt("fine")));


如果为true,则始终为0。如果为false,则按照预期的方式进行操作,即根据计数减去一个量。

最佳答案

试试看(未测试):

double fine = (getConfig().getBoolean("fineispercentage") == true ? getConfig().getInt("fine") / 100.0 * count * econ.getBalance(event.getPlayer().getName()) : econ.getBalance(event.getPlayer().getName()) - (econ.getBalance(event.getPlayer().getName()) - count * getConfig().getInt("fine")));


诀窍是用100.0(双精度)除而不是100(int)

10-04 11:01