import java.io.IOException;
public class MyClass {
public static String ByteConversionCalculator(long bytes) {
int unit = 1024;
if (bytes < unit) {
return bytes + " B";
}
int exp = (int) (Math.log(bytes) / Math.log(unit));
String size_letter = ("KMGTPE").charAt(exp - 1) + "";
return String.format("%.2f %sB", bytes / Math.pow(unit, exp), size_letter);
}
public static void main(String[] args) throws IOException {
try {
System.out.println(ByteConversionCalculator(100000));
System.out.println(ByteConversionCalculator(10000000));
System.out.println(ByteConversionCalculator(1000000000));
System.out.println(ByteConversionCalculator(100000000000L));
System.out.println(ByteConversionCalculator(10000000000000L));
System.out.println(ByteConversionCalculator(1000000000000000L));
System.out.println(ByteConversionCalculator(100000000000000000L));
System.out.println(ByteConversionCalculator(1999999999999999999L));
} catch (Exception e) {
System.out.print(e.toString());
}
}
}
/*
run:
97.66 KB
9.54 MB
953.67 MB
93.13 GB
9.09 TB
909.49 TB
88.82 PB
1.73 EB
*/