diff --git a/src/main/java/com/alttd/playershops/shop/PlayerShop.java b/src/main/java/com/alttd/playershops/shop/PlayerShop.java index 95af72e..9f6d7a2 100644 --- a/src/main/java/com/alttd/playershops/shop/PlayerShop.java +++ b/src/main/java/com/alttd/playershops/shop/PlayerShop.java @@ -65,7 +65,7 @@ public class PlayerShop { playerShop.server = server; playerShop.price = price; playerShop.amount = amount; - playerShop.balance = balance; + playerShop.balance = EconomyUtils.round(balance); playerShop.itemStack = item; playerShop.lastTransaction = lastTransaction; @@ -193,7 +193,7 @@ public class PlayerShop { } public double getPricePerItem() { - return this.getPrice() / this.getAmount(); + return EconomyUtils.round(this.getPrice() / this.getAmount()); } public boolean removeBalance(double amount) { diff --git a/src/main/java/com/alttd/playershops/utils/EconomyUtils.java b/src/main/java/com/alttd/playershops/utils/EconomyUtils.java index 93dfdeb..90c8132 100644 --- a/src/main/java/com/alttd/playershops/utils/EconomyUtils.java +++ b/src/main/java/com/alttd/playershops/utils/EconomyUtils.java @@ -5,6 +5,9 @@ import com.alttd.playershops.shop.PlayerShop; import net.milkbowl.vault.economy.EconomyResponse; import org.bukkit.entity.Player; +import java.math.BigDecimal; +import java.math.RoundingMode; + // TODO document public class EconomyUtils { @@ -55,4 +58,11 @@ public class EconomyUtils { // if we ever need to limit the maximum balance a shop can have this is the place return true; } + + public static double round(double value) { + BigDecimal bd = BigDecimal.valueOf(value); + bd = bd.setScale(2, RoundingMode.HALF_UP); + return bd.doubleValue(); + } + }