C++中,如何将LONG型转换为float和double型?
原因是这样的longa,b;intc;c=1000*a/b但是因为c是int型所以有误差想先来个float或者double型的d使得d=a/b然后再c=1000*d这样误...
原因是这样的
long a,b;
int c;
c=1000*a/b
但是因为c是int型
所以有误差
想先来个float或者double型的d
使得d=a/b
然后再c=1000*d
这样误差就少一些...
能提供好方法的朋友我会追加的
唉
简单问题搞死人啊 展开
long a,b;
int c;
c=1000*a/b
但是因为c是int型
所以有误差
想先来个float或者double型的d
使得d=a/b
然后再c=1000*d
这样误差就少一些...
能提供好方法的朋友我会追加的
唉
简单问题搞死人啊 展开
7个回答
展开全部
long a,b;
int c;
float d;
d=(double)1000*a/b;
这样不用你的c了,或者你把c定义成double类型吧
int c;
float d;
d=(double)1000*a/b;
这样不用你的c了,或者你把c定义成double类型吧
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实际处理中一般直接写成(int)(1000.0*a/b)就可以
计算1000.0*a的时候因为1000.0是double所以a也自动转换成double,1000.0*a的结果于是也是个double
计算1000.0*a的时候因为1000.0是double所以a也自动转换成double,1000.0*a的结果于是也是个double
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c=int((double)1000*(double)a/(double)b); 这种方法叫现式强制转化。
不推荐使用。
如果要准确可以声明的时候就把这3个变量声明成float型的吖。
不推荐使用。
如果要准确可以声明的时候就把这3个变量声明成float型的吖。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为a b是long 所以a/b这个表达式的结果一定是long型的,所以问题不在c上。要准确,必须a b 是float 或者 double型的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询