2015-09-13 3 views
0

новый стек переполнение и C++Использование setprecision и выключаться

std::cout << std::fixed << "Starting Balance: $" << std::setprecision(2) << startbal << endl; 
    std::cout<< "Annual Interest Rate: " << intrestrate << endl; 
    std::cout << std::fixed << "Monthly Payment: $" << std::setprecision(2) <<monthlypay << endl; 

Здесь я пытаюсь напечатать из массива, что у меня есть, его печать в основном правильно, но мне нужна вторая линия не быть затронута setprecision, чтобы Годовая процентная ставка не изменилась.

при печати я получаю:

Starting Balance: $1000.00 
    Annual Interest Rate: 0.05 
    Monthly Payment: $120.00 

Но мне это нужно, чтобы остановить округление годовой процентной ставки, как это должно быть 0,055. Спасибо за любую помощь раньше времени!

+1

Установите его в точности вы хотите _do_ ....... –

+0

возможно дубликат [установить обратно точность по умолчанию C++] (http://stackoverflow.com/вопросы/12560291/компл-обратно по умолчанию точности-с) –

ответ

0

Так что помните текущую точность, измените ее, а затем восстановите первоначальную точность.
В коде, который был бы что-то вроде:

auto const precBefore = std::cout.precision(); 
std::cout << std::setprecision(digitsAfterDecimalCount) << val; 
std::cout << std::setprecision(precBefore); 
Смежные вопросы