mirror of
https://github.com/CarmJos/UltraDepository.git
synced 2024-09-19 11:45:47 +00:00
[v1.1.8] [F] 修复小数精度
This commit is contained in:
parent
fcdda893f1
commit
6bf8e261d0
@ -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) {
|
||||
|
20
src/test/java/MoneyTest.java
Normal file
20
src/test/java/MoneyTest.java
Normal 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();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user