0
C++ (또는 부스트 라이브러리)에서 분수 부분의 주어진 숫자 자릿수를 표시하는 방법이 있습니까? 그러나 나는 분수 부분에 0을 후행으로 인쇄하고 싶지 않습니다 (예 : 1.000
, 1.500
). 이 경우를 참조하십시오C++ 분수 부분의 정확한 자릿수를 표시하는 방법
cout << std::setprecision(3) << 5.0/7.0 << endl; // 0.714
cout << std::setprecision(3) << 12.0/7.0 << endl; // 1.71
cout << std::setprecision(3) << 7.0/7.0 << endl; // 1
cout << std::setprecision(3) << 10.5/7.0 << endl; // 1.5
문제는 내가 두 라인 0.714
및 1.714
를 인쇄하고 싶지 setprecision
인쇄 라인 1과 다르게 라인이있다. 그리고 3 호선과 4 호선은 여전히 1
과 1.5
으로 유지하십시오.
고정밀도 플래그 std :: fixed를 사용하여 정확한 3 자리 분수 부분을 얻은 다음 double/float로 변환하고 다시 문자열로 변환하여 후행 0을 없애고 목표를 달성 할 수도 있습니다. 그러나 그것을 할 수있는 깨끗한 방법이 아닌가? – Stan