从'float'到"int32"的C ++转换,可能会丢失数据
c++ conversion from 'float' to 'int32', possible loss of data
构建此代码返回conversion from 'float' to 'int32', possible loss of data
如何解决它,我乞求学习CPP
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);
(将此答案限制为IEEE754。
float
无法存储int32
可以存储的每个可能值(反之亦然),因此编译器会向您发出有用的警告。
经验法则是不要像这样混合你的类型:使用一种类型并坚持下去。
如果您需要潜入浮点数,那么为了轻松生活(现在可能更快的代码),请使用double
而不是float
。double
可以存储int32
可以存储的每个值,因此警告将消失。
相关文章:
- 如何在 c++ 中将数据从文件读取到 int/float 值
- tensorflow C API中的float数据类型
- typedef float _float32;的声明说明符中的两种或多种数据类型;
- 在C++/Visual Studio中,通过给定数据格式(doubles、float、int、1位bools)的UDP发
- 从'float'到"int32"的C ++转换,可能会丢失数据
- 如何在C++中为integer、float和double数据类型同时重载运算符
- 将值分配给Float数据类型崩溃程序
- 铸造钻头数据To和From float
- 混淆了double和float数据类型
- 将 c++ dll 导入 vb.net 时 float*(图像类型)的等效数据类型是什么?
- 在矢量到矢量中复制数据<float> <Mat> (Opencv/C++)
- 比float或double更准确的数据类型?C++
- 为什么使用"int"数据类型而不是"float"数据类型?
- 将void*延迟为float时数据丢失
- 如何在创建时强制cv::Mat中的数据类型为float ?
- c++中float数据类型声明的混淆
- 如何在 Vector<Vector<float>*>* 中写入数据?
- 如何将矢量<矢量<矢量> >保存在<float>文件中并检索数据?
- "Float"数据类型的范围值(以C++为单位)
- 数据类型为float、float4、float8、double、double4、int、int4、int8的模板