注册 登录
编程论坛 C++教室

【求助】初学者请教c++的double整形表示方法。

糖包包 发布于 2011-03-28 20:00, 1220 次点击
题目如下

输入一台计算机的编号和该计算机的价格,并输出这些信息。(如编号为10987654321,价格为5998.00元,注意此处计算机的编号作为一个整数而言超出了int所定义的变量的存储范围,因此只能用double型变量来存储,但输出时要求看见的是整数形式的编号)

我的程序为什么输出编号是-1879928384啊??为什么不是整形呢?
讲double整形显示应该怎么编写啊,求高手解答,谢谢了。


#include<iostream.h>
void main()
{
    long k;
    double a=0,b=0.00;
    cout<<"请输入计算机的编号和价格:";
        cin>>a>>b;
        k=a;
    cout<<"计算机编号:"<<k<<"计算机价格:"<<b<<endl;
}
2 回复
#2
_Unsolved2011-03-28 21:26
大哥  你一定要用那么大的编号么....  那么大的编号只能用double来存  long类型的变量装不了那么多滴除非你机器是64位的long  所以值溢出了  你给的那个编号就算用 unsigned long 都装不了  所以你
k=a 这里想要把整数部分赋值给long型的k是不行的  你直接输出double倒是可以。  编号的话你不要用整型来储存   你用个string就OK了嘛....

[ 本帖最后由 _Unsolved 于 2011-3-28 21:27 编辑 ]
#3
糖包包2011-03-28 23:10
回复 2楼 _Unsolved
谢谢楼上的兄台,
我才学了几天,还不太会,

老师好像还没有讲到string哎,ms~~
 太感谢你了~嘿嘿。
1