(C++)尝试将双精度转换为整数(解释)

(C++)尝试将双精度转换为整数(解释),c++,C++,在一个例子中看到了这一点 double x = 50.2 cout << (double)(int)(x); 这个很好用,而且没有双重, 那么为什么要在那里加双倍呢?你不必在那里加双倍,为什么呢。您正在将50.2转换为int,而int的计算结果为50,然后您正在将50转换回double,如果您打印它,wich将保持在50。我认为这样做的唯一原因是,如果它在某个返回双精度值的函数中,或者提取双精度值的整数部分,但这根本不是一个好的做法。这是一个与php相关的问题吗?为什么要用Java

在一个例子中看到了这一点

double x = 50.2
cout << (double)(int)(x);
这个很好用,而且没有双重,
那么为什么要在那里加双倍呢?

你不必在那里加双倍,为什么呢。您正在将50.2转换为int,而int的计算结果为50,然后您正在将50转换回double,如果您打印它,wich将保持在50。我认为这样做的唯一原因是,如果它在某个返回双精度值的函数中,或者提取双精度值的整数部分,但这根本不是一个好的做法。

这是一个与php相关的问题吗?为什么要用Java、php和JavaScript标记它?@FunkFortyNiner或Java,或者javascript,您正在从double转换为int,再转换回double。至于为什么:为什么是真的?我想这个例子是想告诉你如何舍入到最接近的整数?这样你就得到了一个double而不是int。这在正确的上下文中是有意义的。我现在明白了,你在哪里看到这个例子的?我认为这样做的唯一原因是,如果它在某个函数中,有一个返回的双精度值,我在一个例子中看到了这一点,所以我想知道为什么确切地说,可能是展示了如何提取双精度值的整数部分,我会意识到这不是一个好的做法