greedydev

Number Converter

Jan 26th, 2022 (edited)
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.94 KB | None | 0 0
  1.         if (inputRadix == targetRadix) {
  2.             System.out.println("Converted number: " + inputNumber);;
  3.         } else if (inputNumber.contains(".")) {
  4.             String[] splitNumber = inputNumber.split("\\.");
  5.             var integralPart = splitNumber[0];
  6.             var fractionalPart = splitNumber[1];
  7.             var integralPartConverted = Integer.toString(Integer.parseInt(integralPart, inputRadix), targetRadix).toUpperCase();
  8.  
  9.             var fractionalPartArr = fractionalPart.toCharArray();
  10.             double fractionalPartConvertedToDecimal;
  11.             if (inputRadix != 10) {
  12.                 fractionalPartConvertedToDecimal = 0.0;
  13.                 for (int i = 0; i < fractionalPartArr.length; i++) {
  14.                     fractionalPartConvertedToDecimal += digits.get(Character.toString(fractionalPartArr[i])) * Math.pow(inputRadix, -i-1);
  15.                 }
  16.             } else {
  17.                 fractionalPartConvertedToDecimal = Double.parseDouble("0." + fractionalPart);
  18.             }
  19.  
  20.  
  21.             var fractionalPartConverted = new StringBuilder();
  22.             double tmp = fractionalPartConvertedToDecimal;
  23.             if (targetRadix != 10) {
  24.                 for (int i = 0; i < 6; i++) {
  25.                     tmp *= targetRadix;
  26.                     var resultDigit = (int)tmp;
  27.                     tmp -= resultDigit;
  28.                     fractionalPartConverted.append(Integer.toString(Integer.parseInt(String.valueOf(resultDigit), 10), targetRadix).toUpperCase());
  29.                 }
  30.             } else {
  31.                 fractionalPartConverted.append(fractionalPartConvertedToDecimal);
  32.             }
  33.             System.out.println("Converted number: " + integralPartConverted + "." + fractionalPartConverted);
  34.         } else {
  35.             String converted = Integer.toString(Integer.parseInt(inputNumber, inputRadix), targetRadix).toUpperCase();
  36.             System.out.println("Converted number: " + converted);
  37.         }
Add Comment
Please, Sign In to add comment