C++ c++;从';浮动';至';int32';,数据可能丢失
生成此代码返回从“float”到“int32”的转换,可能会丢失数据 我怎样才能解决它,我请求学习cppC++ c++;从';浮动';至';int32';,数据可能丢失,c++,C++,生成此代码返回从“float”到“int32”的转换,可能会丢失数据 我怎样才能解决它,我请求学习cpp uint16 nRandom = Radius; if (nRandom <= 0) fRandom_X = (float)fX; else fRandom_X = (float)(myrand((fX - nRandom) * 10, (fX + nRandom) * 10) / 10);
uint16 nRandom = Radius;
if (nRandom <= 0)
fRandom_X = (float)fX;
else
fRandom_X = (float)(myrand((fX - nRandom) * 10, (fX + nRandom) * 10) / 10);
nRandom = Radius;
if (nRandom <= 0)
fRandom_Z = (float)fZ;
else
fRandom_Z = (float)(myrand((fZ - nRandom) * 10, (fZ + nRandom) * 10) / 10);
pNpc->SetPosition(fRandom_X, 0.0f, fRandom_Z);
uint16 nRandom=半径;
如果(nRandom(将此答案限制为IEEE754。)
float
不能存储int32
可以存储的所有可能值(反之亦然),因此编译器会向您发出有用的警告
经验法则是不要像这样混合你的类型:使用一种类型并坚持它
如果您需要深入到浮点运算,那么为了方便使用(现在可能代码速度更快),请使用double
而不是float
。double
可以存储int32
可以存储的每个值,这样警告就会消失。(将此答案限制为IEEE754。)
float
不能存储int32
可以存储的所有可能值(反之亦然),因此编译器会向您发出有用的警告
经验法则是不要像这样混合你的类型:使用一种类型并坚持它
如果您需要深入研究浮点运算,那么为了轻松的生活(以及现在可能更快的代码),使用double
而不是float
。double
可以存储int32
可以存储的每个值,这样警告就会消失。问题是什么?我在构建项目从“float”转换为“int32”时出错,可能会丢失数据
我只需要解决它编辑您的问题,包括e a.通过使用随机头,您可以生成整数类型的随机数并避免转换问题。错误在哪里?问题是什么?当我构建从“float”到“int32”的转换项目时,ti给我错误,可能会丢失数据。
我只需要解决它编辑您的问题以包含a。通过使用随机头,您可以生成整型随机数并避免转换问题。错误在哪里?为什么要使用double
help?编译器警告从float
转换为int
,而不是int
转换为float
。为什么要使用double
help?编译器警告从floa>转换在
到int
,而不是int
到float
。