Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
Нарушитель
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26

Вывести массив double форматированным выводом

27.01.2017, 10:51. Показов 4489. Ответов 3

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста как вывести массив double dAr[] через пробел в одну строку на консоль, чтобы
0.0 выводился как 0
1.0 или 1.0000 выводился как 1
2343234.0 выводился как 2343234
2343.809809 выводился как 2343.809

то есть, если после запятой .000000 или .0000001 выводилось только целое число.

В стальных оставить только три знака после запятой.

Добавлено через 1 час 27 минут
Можно это сделать простым выводом без всяких хитроумных преобразований и округлений?
Вот массив double dAr[]; и его только вывести в этом формате.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.01.2017, 10:51
Ответы с готовыми решениями:

Беда с форматированным выводом
Есть задание и оно звучит так: Решил задачу двумя способами, но не работает всё равно. Запускается без ошибок, но не выводит то, что...

Поиск файлов с форматированным выводом
Здравствуйте. Стоит задача, в freebsd системе найти все файлы СОЗДАННЫЕ и ИЗМЕНЁННЫЕ за последние 4 дня. Пытаюсь сделать так: find/...

Вывести в окно консоли форматированный текст (под форматированным понимается жирный, курсив и зачеркнутый)
Нужно сделать под все процессоры, не могу понять как, нашел что через LOGFONT но не получается совсем, по сути нужно вывести любой текст и...

3
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
27.01.2017, 11:59
В принципе особых танцев и не нужно:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Main {
 
    public static void main(String[] args) {
        System.out.println(prepareValueForOutput(1234.56789));
        System.out.println(prepareValueForOutput(1000.000));
        System.out.println(prepareValueForOutput(1234.0));
        System.out.println(prepareValueForOutput(0.0));
    }
 
    static String prepareValueForOutput(final Double value)
    {
        String numberAsString;
 
        final double eps = 0.0000001;
 
        if (Math.abs(value) < eps)
            numberAsString = String.format("%d", 0);
        else
        {
            if ((value == Math.floor(value)) && !Double.isInfinite(value))
                numberAsString = String.format("%d", value.intValue());
            else
                numberAsString = String.format("%.3f", value.doubleValue());
        }
 
        return numberAsString;
    }
}
1
Нарушитель
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26
27.01.2017, 12:39  [ТС]
Спасибо.

Стандартной библиотечной функции для этого нет?
Чтобы получилось что-то типа такого, простого:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* выводит до третьего знака после запятой, но целые тоже выводит с тремя нулями
А нужно целые выводить как целые без нулей
*/
public class DoubleToConsole {
    public static void main(String[] args) {
 
   double []dAr = {1.2,12.01,10,0,1, 1.0,1.001};
        
   for(int i=0; i<dAr.length; i++){
        System.out.printf("%.3f",dAr[i]);
        System.out.print("   ");
        }
    }
}
0
Нарушитель
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26
18.02.2017, 19:10  [ТС]
HighPredator, Спасибо. Воспользовался вашим советом.
Все получается. Но у меня массив double выводится как: 298,456 19,500 611,241 17,117 8,124 9,274 4190 29,998 4605,436 12,124 31,209 16,125 27,622
Можно сделать, чтобы double выводились с точкой а не с запятой. Например так: 298.456 19.500

Добавлено через 2 часа 28 минут
В общем я сделал по другому:
Java
1
2
       NumberFormat formatter = NumberFormat.getNumberInstance(Locale.ENGLISH);
       formatter.setMaximumFractionDigits(9);
и далее:
Java
1
System.out.print( formatter.format(dResults[i] ) + " ");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.02.2017, 19:10
Помогаю со студенческими работами здесь

Проблема с выводом в textbox переменной типа double
проблема вот в чем, после нехитрого преобразования // это кусок кода, от калькулятора, выводящий значения на табло. // Я знаю, что у...

Вывести long double число без перевода в double
Надо вывести long double число без перевода в double. Пишу: printf(&quot;%Lf&quot;,S); и выводится неверно. Компилятор -- MinGW, та же фишка на...

Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double
Думаю из-за polp #include&lt;iostream&gt; #include&lt;cmath&gt; #include&lt;cstdlib&gt; using namespace std; double polp(double af,double...

Определить корректность ввода Double в консоли с выводом неверно введенного значения
нужно чтоб опечатка выводилась на консоль class Program { static void Main(string args) {

Ошибка: error LNK2001: unresolved external symbol "double __cdecl Akk(double,double,double)"
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; double Akk(double x, double y, double z); int main() { int a, b, c; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru