의 행동에 내가 그것을 setprecision 기능을 이해하는 바와 같이 최소한의 정밀도를 지정하지만 다음 코드를 실행할 때 소수점 이하에만 3 개의 숫자 얻을 :C++ 정밀도 - setprecision
int main()
{
double a = 123.4567890;
double b = 123.4000000;
std::cout << std::setprecision(5) << a << std::endl; // Udesireble
std::cout.setf(std::ios::fixed);
std::cout << std::setprecision(5) << a << std::endl; // Desireble
std::cout << std::setprecision(5) << b << std::endl; // Udesireble
std::cout.unsetf(std::ios::fixed);
std::cout << std::setprecision(5) << b << std::endl; // Desireble
return 0;
}
인쇄 :
을123.46 // Udesireble
123.45679 // Desireble
123.40000 // Udesireble
123.4 // Desireble
고정 설정할지 여부를 알 수있는 나 자신을 위해 소수점 자리의 수를 확인 피할 수있는 방법이 있습니까?
이있을 수 있습니다, 이것은 지금까지 일을하는 유일한 솔루션입니다,하지만 난 C++ 난 그냥 아니에요 더 우아한 뭔가가있을 수 있음을 단지 확신했다 인식. – SadStudent
@SadStudent 귀하의 요구 사항은 드뭅니다. 일반적인 (그리고 :-(제로 충전) 소수 자릿수의 고정 번호를 가지고하는 것입니다. 그것은 당신이 질문이 매우 좋다. –