Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++;从';浮动';至';int32';,数据可能丢失_C++ - Fatal编程技术网

C++ c++;从';浮动';至';int32';,数据可能丢失

C++ 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);

生成此代码返回从“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);

        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