как удалить часть целого числа в java?

#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». Это означает, что вся числовая часть должна быть скрыта