Im C++에 새로운 기능이 있으며이 코드의 출력이 8.25가 아니라 8.25가 아닌 이유는 무엇입니까?왜이 C++ 정적 캐스트 코드가 생성되고 int가 double이 아니야
누군가이 코드가 int가 double이 아닌 이유를 설명 할 수 있습니까?
감사합니다 :) 데이터는 문 y = x
의 정수 8
로 변환됩니다
#include "stdafx.h"
#include <iostream>
int main()
{
double x = 8.25;
int y;
y = x;
double z = static_cast<double>(y);
std::cout << z << std::endl;
return 0;
}
8은 double에 유효한 값입니다. 당신은 8.25를 반올림했는데 정확히 무엇을 기대 했습니까? – skypjack
y = x 일 때 int에 대한 암시 적 캐스트를 수행하므로 y는 소수를 갖지 않습니다. 그러면 다시 캐스팅 할 때만 8을 캐스팅합니다. – Bozemoto
여러분은 코멘트와 대답의 차이를 깨닫습니다. 맞습니까? :-)이 두 사람은 (반신 반의하는 유머에 대한) 논평과는 달리, 저에게 * 답장 *처럼 보였습니다. – paxdiablo