1
mirror of https://github.com/CarmJos/UltraDepository.git synced 2024-09-19 19:55:45 +00:00

[v1.1.8] [F] 修复小数精度

This commit is contained in:
Carm Jos 2022-01-06 00:00:38 +08:00
parent fcdda893f1
commit 6bf8e261d0
2 changed files with 26 additions and 3 deletions

View File

@ -12,6 +12,9 @@ import cc.carm.plugin.ultradepository.hooker.VaultHooker;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import java.math.BigDecimal;
import java.math.RoundingMode;
public class EconomyManager {
VaultHooker hooker;
@ -35,9 +38,9 @@ public class EconomyManager {
public double sell(Player player, double price, int amount) {
if (!isInitialized()) return 0D;
double money = price * amount;
getHooker().addMoney(player, money);
return money;
BigDecimal money = BigDecimal.valueOf(price * amount).setScale(2, RoundingMode.DOWN);
getHooker().addMoney(player, money.doubleValue());
return money.doubleValue();
}
public void sellAllItem(Player player, UserData userData) {

View File

@ -0,0 +1,20 @@
import org.junit.Test;
import java.math.BigDecimal;
import java.math.RoundingMode;
public class MoneyTest {
@Test
public void test() {
System.out.println(get(1.2, 100));
System.out.println(get(0.55, 10));
System.out.println(get(0.21, 5));
}
public double get(double price, int amount) {
BigDecimal money = BigDecimal.valueOf(price * amount).setScale(2, RoundingMode.DOWN);
return money.doubleValue();
}
}