Форум программистов, компьютерный форум CyberForum.ru

Округление мелкого числа до 0 - C++

Восстановить пароль Регистрация
 
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
05.06.2011, 17:49     Округление мелкого числа до 0 #1
Всем привет, времени мало поэтому пишу сюда
суть такова - нужно сделать перемножение матриц 3х3 типа double потом вывести на экран

все выходит хорошо, но есть 1 штука от которой я хочу избавится
http://i034.***********/1106/c2/93d5619029c0.jpg

я так понимаю это 1.9 в -16 степени, т.е --> 0
так вот как сделать так чтобы выводился на экран ноль а не эта штукенция?

фрагмент программы
C++
1
2
3
4
5
6
7
8
    void print() {
        for (int i=0; i<3; i++) {
            for (int j=0; j<3; j++) {
                std::cout << std::setw(7) << std::setprecision(2) << data[i][j];
            }
            std::cout << '\n';
        }
    }
пробывал
std::cout.unsetf(std::ios_base::scientific);
не помогло
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2011, 17:49     Округление мелкого числа до 0
Посмотрите здесь:

C++ округление числа до десятых
C++ Округление дробового числа
C++ Округление числа
Быстрое округление числа C++
C++ Вещественные числа и округление
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
05.06.2011, 18:06     Округление мелкого числа до 0 #2
попробуй std::cout<<std::fixed
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
05.06.2011, 18:16  [ТС]     Округление мелкого числа до 0 #3
хм, спасибо помогло, запомню на будущее

ну я правда решил проблему другим путем
C++
1
2
3
    
if (fabs(data[i][j])<0.001) data[i][j]=0.0;
std::cout << std::setw(8) << std::setprecision(2) << data[i][j];
заодно очищу массив от ненужной мелочи )
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
05.06.2011, 18:22     Округление мелкого числа до 0 #4
Цитата Сообщение от OstapBender Посмотреть сообщение
ну я правда решил проблему другим путем
C++
1
2
if (fabs(data[i][j])<0.001) data[i][j]=0.0;
std::cout << std::setw(8) << std::setprecision(2) << data[i][j];
А 0.009 при этом нормально выводится? Просто лень самому проверять
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
06.06.2011, 00:36  [ТС]     Округление мелкого числа до 0 #5
Цитата Сообщение от grizlik78 Посмотреть сообщение
А 0.009 при этом нормально выводится? Просто лень самому проверять
да все норм с 0.009,
а что такое?
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
06.06.2011, 00:40     Округление мелкого числа до 0 #6
Да я просто не помню, с какого момента он к научной записи переходит. Но раз нормально всё, то хорошо.
Yandex
Объявления
06.06.2011, 00:40     Округление мелкого числа до 0
Ответ Создать тему
Опции темы

Текущее время: 08:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru