Estoy tratando de aprender a usar declaraciones de espacios de nombres más definitivas que las que dicen "using namespace std". Estoy tratando de formatear mis datos a 2 decimales, y establecer el formato para ser fijo y no científico. Este es mi archivo principal:format, iomanip, C++
#include <iostream>
#include <iomanip>
#include "SavingsAccount.h"
using std::cout;
using std::setprecision;
using std::ios_base;
int main()
{
SavingsAccount *saver1 = new SavingsAccount(2000.00);
SavingsAccount *saver2 = new SavingsAccount(3000.00);
SavingsAccount::modifyInterestRate(.03);
saver1->calculateMonthlyInterest();
saver2->calculateMonthlyInterest();
cout << ios_base::fixed << "saver1\n" << "monthlyInterestRate: " << saver1->getMonthlyInterest()
<< '\n' << "savingsBalance: " << saver1->getSavingsBalance() << '\n';
cout << "saver2\n" << "monthlyInterestRate: " << saver2->getMonthlyInterest()
<< '\n' << "savingsBalance: " << saver2->getSavingsBalance() << '\n';
}
En Visual Studio 2008, cuando ejecuto mi programa, me sale una producción de "8192" antes de los datos que quiero. ¿Hay alguna razón para eso?
Además, no creo que establezca la parte fija o 2 decimales correctamente ya que parece que tengo notación científica una vez que agregué la precisión (2). Gracias.
La variante 'money_put' imprime' 123' en lugar de '$ 1.23' en mi máquina. No debería ser una salida aceptable en cualquier localidad. – jfs
@ J.F. - El resultado esperado es '$ 1.23'. ¿Qué plataforma estás usando? – Potatoswatter
@Potatoswatter: http://codepad.org/EY5PqSIw – jfs