2011-12-16 1 views
2

私はC++初心者で、最初のプログラムに問題があります。私は2つの浮動小数点数を掛けようとしています。結果は常に1.1111e + 1のように表示されます。ここで1は乱数です。以下は私が書いた小さなプログラムです。C++で2つの浮動小数点数を掛け合わせると、数字以外の結果が返されます

#include <iostream> 
#include <string> 
#include <conio.h> 
using namespace std; 
int main() 
{ 
    float bank; 
    float dollor; 
    cout<<"Enter amount of $ deposited at Bank: ";//the data to input is 5000 
    cin>>bank; 
    cout<<"Enter current $ price: ";//1usd = 800mmk: the data to input is 800 
    cin>>dollor; 
    bank*=dollor;//all deposited $ to local currency 
    cout<<"Result is "<<bank; 
    getch(); 
} 

このプログラムの結果は4e + 006です。

ps:いつかフロートを入力するためにfloatと宣言しました。 私が間違っていたこのプログラムで私を助けてください。ありがとうございます..

+0

-1:私には正しい答えのようです。 –

+3

+1私はそれが有効な質問だと思うので、答えは中学校で学んだものですが、 – wolfgang

答えて

8

4e+006はのscientific notationです。これは5000*800の正解です。

4e+006は、4 * 10**6を表します。10**6は、6乗の10乗の10乗です。

は、固定小数点表記を使用するには、そのようなあなたのプログラムを変更することができます:

#include <iomanip> 
... 
cout << "Result is " << fixed << bank; 
1

まあ、800による5000は確か4E6で、それは、4,000,000 4 * 10^6です。

1

試してみてください。

#include <iomanip> 

//... 
cout << "Result is "<< setprecision(2) << bank; 

か...

cout.precision(2); 
cout << "Result is " << fixed << bank; 
1

それは科学表記法であります。

thisをご覧ください。とりわけ、固定小数点表記法で数値を印刷する方法を示しています。

関連する問題