提示:warning C4244:'argument' :conversion from 'double' to 'float',possible loss of data下面是出错的那段函数:double XsatPH(float p,float H) //饱和蒸气干度 计算(已知压力、焓){ double h,h1,h2,t,x;x = 0.5;loop:t = TempSatur(p);h2 = EnthSteamPT(p,t); 出错的地方h1 = EnthWaterP...
【题目】 warning C4244:'=': conversion from'double' to 'float'帮忙看看吧很简单的一个程序 谢谢 #includestdio.h int main() { floatf,c;//定义f,c为单精度浮点型变量 scanf("%f",&f);c=(5.0/9)*(f-32);//提示出错warning C4244:'=' : conversion from 'double ' to 'float ', ...
iNum = iNum * 1.5; //大概就是这句了,你的iNum是int型的,会使小数点后的数据被四舍五入掉 }else if(m_tIsOP == 3){ iNum = iNum * 3;}
楼主试图把一个双精度值赋给一个整形变量,编译器提示该行为将可能导致数据丢失,包括但不限于小数部分被截断。如果你确切的明白自己的行为是无误的,可以用强制类型转换来避免该警告。
但是呢,你的计算结果是一个double类型的值,因此,当你将这个值复制给你的y变量时。高精度复制给低精度的数据,其就会提醒你可能会丢失数据。因此这也就是这个警告的对应的英文意思啦。虽然说不会导致错误,但是还是要严谨一些。你可以把这个变量定义为double类型的。希望可以帮助到你。
警告C4244是Microsoft Visual C++编译器发出的一个类型转换警告,具体为:“'=' : conversion from 'double' to 'float', possible loss of data”。这个警告表示在代码中有一个从double类型到float类型的赋值操作,由于double类型具有比float类型更高的精度(通常是双倍的精度),这种转换可能会导致数据精度的丢失。 分...
方法一:改为:include "stdio.h"include "math.h"void main(){ int a,b,c;double p,x1,x2;scanf("请输入a,b,c的值为%d %d %d",&a,&b,&c);p=sqrt(b*b-4*a*c);x1=(-b+p)/2*a;x2=(-b-p)/2*a;printf("%d,%d",x1,x2);} 方法二:强制类型转换 改为:include "...
你好 很高兴为你解答 答案是:如果你很有把握不会造成数据丢失(double的值不会超过int的最大值),就不用理会。光把警告消掉也没有实际意义。满意请采纳,谢谢
VS2010报错warning C4244: “=”: 从“double”转换到“int”,可能丢失数据。求解决方法,代码怎么改? 推荐内容VS2010报错warning C4244: “=”: 从“double”转换到“int”,可能丢失数据。求解决方法,代码怎么改? void resizeAllWindow() { cvNamedWindow("src",0); cvNamedWindow( "扩张腐蚀",0); ...
你好 很高兴为你解答 答案是:如果你很有把握不会造成数据丢失(double的值不会超过int的最大值),就不用理会。光把警告消掉也没有实际意义。满意请采纳,谢谢