#java #format #decimal
Вопрос:
У меня есть двойник, значение которого равно 0,00. Мне нужна инструкция по печати, чтобы отобразить ее как «$.00». Таким образом, вся числовая часть не отображается
Пробовал использовать метод String.format (), а также метод подстроки, но это никуда меня не привело…любая помощь приветствуется, спасибо!
Комментарии:
1. Это только
0
потому, что вы хотите особый случай? О чем$9.00
?2. Да, есть только одно значение (окончательное удвоение), которое необходимо отобразить. Поэтому мне просто нужно избавиться от всей числовой части, чтобы отображалось только «.00». Знак доллара спереди — это не проблема
Ответ №1:
Я могу думать только о выполнении двух шагов. Сначала отформатируйте значение до двух знаков после запятой. Затем используйте String.substring
, начиная с десятичного знака. Нравится,
double x = 9.99; String withZero = String.format("%.2f", x); System.out.printf("$%s%n", withZero.substring(withZero.indexOf('.')));
Результаты (по запросу)
$.99
Ответ №2:
Попробуй это:
public static void outputFractional(double value) { double whole = Math.abs(value); double fraction = whole - ((long) whole); DecimalFormat format = new DecimalFormat("$.00"); System.out.println(format.format(fraction)); }
Комментарии:
1. Как так? Для меня это прекрасно работает.
2. Я получаю эти результаты для 0, gt;=1, gt;
3. Обновлено для отображения дробной суммы
Ответ №3:
Простое решение состоит в том, чтобы использовать DecimalFormat
и установить максимальное количество целых цифр равным 0.
DecimalFormat formatter = new DecimalFormat("$.00"); formatter.setMaximumIntegerDigits(0);
Ответ №4:
Как я понимаю, вопрос:
Попробуй вот это
double amount = 0; System.out.println("$" amount);
Комментарии:
1. Я имел в виду, что у меня двойное значение 0, при печати мне нужно, чтобы оно отображалось как «.00». Это означает, что вся числовая часть должна быть скрыта