Sto cercando di imparare a usare le dichiarazioni dei namespace più definitive di quelle che non dico "using namespace std". Sto cercando di formattare i miei dati in 2 cifre decimali e di impostare il formato in modo fisso e non scientifico. Questo è il mio file principale: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';
}
su Visual Studio 2008, quando eseguo il mio programma, ottengo un output di "8192" prima che i dati che voglio. C'è una ragione per questo?
Inoltre, non penso di impostare correttamente la parte fissa o 2 cifre decimali poiché mi sembra di ottenere la notazione scientifica una volta aggiunta la setprecision (2). Grazie.
La variante 'money_put' stampa' 123' invece di '$ 1,23' sulla mia macchina. Non dovrebbe essere accettabile in uscita in nessuna lingua. – jfs
@ J.F. - L'uscita prevista è '$ 1,23'. Che piattaforma stai usando? – Potatoswatter
@Potatoswatter: http://codepad.org/EY5PqSIw – jfs