Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class FMI {
- public static final String FLOATING_POINT_REGEX = "^[-+]?[0-9]*\\.[0-9]+([eE][-+]?[0-9]+)?$";
- public static void getDataTypeForNumber(String min, String max) {
- Pattern p = Pattern.compile(FLOATING_POINT_REGEX);
- if (p.matcher(min).find() || p.matcher(max).find()) {
- double minVal = Double.valueOf(min);
- double maxVal = Double.valueOf(max);
- if (Float.MIN_VALUE <= minVal && maxVal <= Float.MAX_VALUE) {
- System.out.println("float32");
- } else {
- System.out.println("float64");
- }
- } else {
- if (Integer.valueOf(min) == 0 && Integer.valueOf(max) == 1) {
- System.out.println("Bool");
- } else {
- long minVal = Long.valueOf(min);
- long maxVal = Long.valueOf(max);
- if (maxVal <= Byte.MAX_VALUE) {
- if (minVal == 0) {
- System.out.println("UInt8");
- return;
- } else if (Byte.MIN_VALUE <= minVal) {
- System.out.println("Int8");
- return;
- }
- } else if (maxVal <= Short.MAX_VALUE) {
- if (minVal == 0) {
- System.out.println("UInt16");
- return;
- } else if (Short.MIN_VALUE <= minVal) {
- System.out.println("Int16");
- return;
- }
- } else if (minVal == 0) {
- System.out.println("UInt32");
- return;
- } else if (Integer.MIN_VALUE <= minVal) {
- System.out.println("Int32");
- return;
- }
- }
- }
- }
- public static void main(String[] args) {
- FMI.getDataTypeForNumber("-15", "100000000");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement