C++에서 소수점 이하 자릿수를 유지하려면 일반적으로 출력 형식을 지정해야 합니다. 이는 I/O 스트림 라이브러리에서 std::setprecision 및 std::fixed를 사용하여 달성할 수 있습니다. 반올림을 위해 std::cout 및 I/O 스트림 형식화, std::stringstream, std::round 또는 std::floor/std::ceil을 사용할 수 있으며 C 스타일 printf 함수를 사용할 수 있습니다.
C++에서 여러 소수 자릿수를 유지하려면 일반적으로 출력 형식을 지정해야 하며, 이는 I/O 스트림 라이브러리에서 std::setprecision 및 std::fixed를 사용하여 수행할 수 있습니다. 다음은 소수 자릿수를 보존하는 몇 가지 방법입니다.
1 std::cout 및 I/O 스트림 형식을 사용하세요.
std::fixed 및 std::setprecision과 함께 std::cout을 사용할 수 있습니다. 출력 형식을 설정합니다.
cpp
#include <iostream> #include <iomanip> // 包含 setprecision 和 fixed int main() { double value = 3.141592653589793; std::cout << std::fixed << std::setprecision(2) << value << std::endl; // 输出: 3.14 return 0; }
이 예에서 std::fixed는 고정 소수점 표기법이 사용되도록 하는 반면 std::setprecision(2)은 소수점 이하 자릿수를 2로 설정합니다. .
2. std::stringstream 사용
형식화된 문자열을 콘솔에 직접 출력하는 대신 변수에 저장해야 하는 경우 std::stringstream을 사용할 수 있습니다.
cpp
#include <sstream> #include <iomanip> #include <string> int main() { double value = 3.141592653589793; std::stringstream ss; ss << std::fixed << std::setprecision(2) << value; std::string formatted_value = ss.str(); // formatted_value 现在包含 "3.14" return 0; }
3. 반올림하려면 std::round 또는 std::floor/std::ceil을 사용하세요
지정된 소수 자릿수로 반올림하려면, std::round 함수를 사용할 수 있습니다. std::round는 10의 거듭제곱을 곱한 부동 소수점 숫자를 인수로 허용하므로 필요한 소수 자릿수에 따라 적절하게 계산해야 합니다.
cpp
#include <cmath> // 包含 round 函数 #include <iostream> int main() { double value = 3.141592653589793; double rounded_value = std::round(value * 100.0) / 100.0; // 四舍五入到小数点后两位 std::cout << rounded_value << std::endl; // 输出: 3.14 return 0; }
지정된 소수 자릿수로 반올림하거나 올리려면 std::floor 또는 std::ceil 함수를 적절한 곱셈과 결합하여 사용할 수 있습니다. 작업.
4. C 스타일 형식의 출력 사용
C++에서는 형식 지정에 I/O 스트림 사용을 권장하지만 C 스타일 printf 함수를 사용할 수도 있습니다.
cpp
#include <cstdio> int main() { double value = 3.141592653589793; printf("%.2f\n", value); // 输出: 3.14 return 0; }
printf에서 %.2f는 소수점 이하 두 자리의 부동 소수점 숫자를 출력한다는 의미입니다.
이러한 메서드는 C++에서 소수 자릿수를 유지하는 데 사용할 수 있습니다. 선택하는 방법은 특정 요구 사항과 선호하는 프로그래밍 스타일에 따라 다릅니다.
위 내용은 C++에서 소수 자릿수를 유지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!