什么意思是从'double'转换为'int',可能会丢失数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么意思是从'double'转换为'int',可能会丢失数据?相关的知识,希望对你有一定的参考价值。

我对C中的日志形式有疑问。我已经定义了变量,如下所示,

double **rx, rr00, perranking;

rx0 = dmatrix(1, PN, 1, M);
perranking = 0;
rr0 = dmatrix(1, PN, 1, M);

for (period = 1; period <= hp; period++) {
    if (rx0[i][j - period] != -99) {
        rr00 += rx0[i][j - period];
        perranking++;
        period++;
    }
    rr0[i][j] = rr00 - double (log(perranking));
}

但是,日志形式总是显示“从'double'转换为'int',可能会丢失数据”。那我该怎么调整我的编码呢?谢谢

答案

double值经常不适合整数类型。

double x = 10e54;
int y = x;

如果你确定它适合,只需添加显式强制转换来抑制警告

 int y = (int)x;

以上是关于什么意思是从'double'转换为'int',可能会丢失数据?的主要内容,如果未能解决你的问题,请参考以下文章

在QT中如何将double转换为Qstring

在 swift 中将 String 类型数组转换为 Float 类型数组 不能将类型 'String' 的值分配给类型 'Double' 的下标。

请问C语言中 如何把double类型的数转化为字符串 char

PHP为啥echo 'happy'.1+2.'345'会输出2345

错误“lambda不是从'std :: function'派生的

JaVA问题