>백엔드 개발 >C++ >C++에서 소수 자릿수를 유지하는 방법

C++에서 소수 자릿수를 유지하는 방법

小老鼠
小老鼠원래의
2024-03-25 16:18:331747검색

C++에서 소수점 이하 자릿수를 유지하려면 일반적으로 출력 형식을 지정해야 합니다. 이는 I/O 스트림 라이브러리에서 std::setprecision 및 std::fixed를 사용하여 달성할 수 있습니다. 반올림을 위해 std::cout 및 I/O 스트림 형식화, std::stringstream, std::round 또는 std::floor/std::ceil을 사용할 수 있으며 C 스타일 printf 함수를 사용할 수 있습니다.

C++에서 소수 자릿수를 유지하는 방법

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.