그래서 저는 C++ 프로젝트를 만들고 있습니다. -0Cout long double issue
이미 setprecision를 사용하려고 모든 : 나는 긴 double 형의 VAR을 가지고 있고 그것을 "1.02"그럼
, 나는 그것을 인쇄 할 cout을 사용하려고 같은 값을 할당하고, 결과는 나는 문제를 인터넷 검색을 발견했다.
이 해결책은 무엇입니까?
예제 코드 :
#include <cstdlib>
#include <iomanip>
using namespace std;
int main(int argc, char** argv)
{
cout.precision(15);
long double var = 1.2;
cout << var << endl;
return 0;
}
OS : 윈도우 8.1 64 비트 컴파일러 :는 MinGW IDE : 넷빈즈
컴파일러 및 OS 버전과 함께 전체 프로그램을 편집하지 않습니다. –
나를 위해 작동합니다. 컴파일러 버전은 무엇입니까? –
이것은 MinGW의 잘 알려진 문제점입니다. MinGW는 Microsoft 라이브러리를 사용합니다. Microsoft의 컴파일러는 long double을 64 비트 형식 (double과 동일)으로 구현하고 있으며 라이브러리는 동일하게 기대합니다. 그들의 라이브러리는 MinGW가 사용하는 80 비트 long-double 포맷을 이해하지 못합니다. –