Witam mam pewien problem z czytelnością konsoli pisze sobie program, który miałby przeliczać jednostki i mam pewien problem.
Gdy przeliczam jednostki długości i wpisze 7 to wyświetla mi się w konsoli to :
7 Milimetrów to: 0.7000000000000001 Centymetrów 0.07 Decymetrów 0.007 Metrów 7.0E-4 Kilometrów. I moje pytanie dotyczy tych 0.7000000000000001 cm i 7.0E-4 kilometrów. Jak mogę to zmienić żeby było 0.7mm i 0.0007 km? Poniżej wklejam kod:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a;// jednostka
int a1; // dokladna jednostka liczby
int b; // Liczba
double c; // 1 obliczenie
double d; // 2 obliczenie
System.out.println("Witaj, wybierz rodzaj jednostki, który chcesz przeliczyć");
System.out.println("1.Jednostki długości.");
System.out.println("2.Jednostki pola(kwadratowe).");
System.out.println("3.Jednostki objętości(sześcienne)");
System.out.println("4.Jednostki pojemności.");
System.out.println("5.Jednostki masy.");
System.out.println("6.Jednostki czasu.");
System.out.println("7.Temperatura.");
a = scanner.nextInt();
System.out.println("A teraz podaj liczbę, która chcesz przeliczyć");
b = scanner.nextInt();
switch (a) {
case 1:
System.out.println("W jakiej jednostce jest twoja liczba");
System.out.println("1.Milimetry");
System.out.println("2.Centymetry.");
System.out.println("3.Decymetry");
System.out.println("4.Metry");
System.out.println("5.Kilometry");
a1 = scanner.nextInt();
switch (a1) {
case 1:
System.out.println(b + " Milimetrów to: " + b * 0.1 + " Centymetrów " + b * 0.01 + " Decymetrów " + b * 0.001 + " Metrów " + b * 0.0001 + " Kilometrów ");
}
}
}
}