TabooLib/src/main/scala/io/izzel/taboolib/util/lite/Numbers.java

79 lines
2.1 KiB
Java
Raw Normal View History

2019-07-06 04:03:15 +00:00
package io.izzel.taboolib.util.lite;
2020-05-17 13:48:41 +00:00
import org.bukkit.util.NumberConversions;
import java.text.DecimalFormat;
import java.util.Random;
2020-05-17 13:48:41 +00:00
import java.util.concurrent.ThreadLocalRandom;
/**
* @Author
* @Since 2019-07-05 19:02
*/
public class Numbers {
2020-05-17 13:48:41 +00:00
private static final DecimalFormat doubleFormat = new DecimalFormat("#.##");
public static int toInt(Object in) {
return NumberConversions.toInt(in);
}
public static long toLong(Object in) {
return NumberConversions.toLong(in);
}
public static short toShort(Object in) {
return NumberConversions.toShort(in);
}
public static float toFloat(Object in) {
return NumberConversions.toFloat(in);
}
public static double toDouble(Object in) {
return NumberConversions.toDouble(in);
}
public static byte toByte(Object in) {
return NumberConversions.toByte(in);
}
2020-04-15 16:00:22 +00:00
public static Random getRandom() {
2020-05-17 13:48:41 +00:00
return ThreadLocalRandom.current();
2020-04-15 16:00:22 +00:00
}
2019-10-02 07:15:49 +00:00
public static boolean random(double v) {
2020-05-17 13:48:41 +00:00
return ThreadLocalRandom.current().nextDouble() <= v;
2019-10-02 07:15:49 +00:00
}
2020-04-15 16:00:22 +00:00
public static int random(int v) {
2020-05-17 13:48:41 +00:00
return ThreadLocalRandom.current().nextInt(v);
}
public static Double format(Double num) {
return Double.valueOf(doubleFormat.format(num));
}
public static int getRandomInteger(Number num1, Number num2) {
2020-05-17 13:48:41 +00:00
return ThreadLocalRandom.current().nextInt(num1.intValue(), num2.intValue() + 1);
}
public static double getRandomDouble(Number num1, Number num2) {
2020-05-17 13:48:41 +00:00
return ThreadLocalRandom.current().nextDouble(num1.doubleValue(), num2.doubleValue());
}
public static Boolean getBoolean(String str) {
if (str == null || str.isEmpty()) {
return false;
}
char var = str.charAt(0);
if (var == 'y' || var == 'Y' || var == 't' || var == 'T' || var == '1') {
return true;
}
if (var == 'n' || var == 'N' || var == 'f' || var == 'F' || var == '0') {
return false;
}
return false;
}
}