#java #type-conversion #format #output #double
#java #преобразование типов #формат #вывод #double
Вопрос:
Пользователь вводит строковое числовое значение, и оно может быть любым, например, 3,14 или 10. При преобразовании в double и печати значения обратно я хотел бы возвращать целочисленные значения, такие как 10, просто как «10», а не «10.0», но если пользователь вводит 3.14, я все равно хотел бы вернуть 3.14. Я знаю, что это можно сделать с помощью регулярных выражений и поиска в строке, а затем преобразовать значения в int или double соответственно, но есть ли более простой способ сделать это? Вот мой простой код:
Scanner scanner = new Scanner(Systemin);
System.out.println("Give a number:");
double value = Double.parseDouble(scanner.nextLine());
System.out.println("You gave the number " value);
Комментарии:
1. Вы, вероятно, ищете
BigDecimal
.
Ответ №1:
Для этого вы можете использовать DecimalFormat . # означает, что если число присутствует, оно будет отображаться.
DecimalFormat format = new DecimalFormat("##.##");
System.out.println("You gave the number " format.format(value));