>  기사  >  백엔드 개발  >  숫자를 소수점 이하 n자리로 반올림하는 C++ 프로그램

숫자를 소수점 이하 n자리로 반올림하는 C++ 프로그램

PHPz
PHPz앞으로
2023-09-12 17:13:021769검색

숫자를 소수점 이하 n자리로 반올림하는 C++ 프로그램

숫자를 출력으로 표현하는 것은 모든 언어로 프로그램을 작성할 때 흥미롭고 중요한 작업입니다. 정수 유형(짧은, 긴 또는 중간 유형의 데이터)의 경우 숫자를 출력으로 표현하는 것이 쉽습니다. 부동 소수점 숫자(float 또는 double 유형)의 경우 때로는 특정 소수 자릿수로 반올림해야 합니다. 예를 들어 52.24568을 소수점 세 자리로 표현하려면 일부 전처리가 필요합니다. 이 기사에서는 반올림을 통해 부동 소수점 숫자를 특정 소수 자릿수로 표현하는 몇 가지 기술을 소개합니다.

다양한 방법 중에서 C와 유사한 형식의 문자열을 사용하고, 정밀도 인수를 사용하고, 수학 라이브러리의 round() 함수를 사용하는 것이 중요합니다. 하나씩 살펴보겠습니다. 올바른 구문과 코드 예제가 포함되어 있습니다.

형식 문자열 사용

C 언어에서는 printf() 함수를 사용하여 형식으로 인쇄를 표현합니다. printf() 함수를 사용하여 일부 데이터를 표시하려면 형식 문자열을 미리 지정해야 합니다. 동일한 printf() 함수는 C++에서도 작동합니다. 특정 소수 자릿수로 숫자를 표현하기 위한 형식 지정 구문은 다음과 같습니다

문법

printf 문의 구문.

으아악

예를 들어, 소수점 이하 4자리를 유지하면서 부동 소수점 변수 NUM을 표시하려는 경우 명령문은 다음과 같습니다. -

으아악

Example

의 중국어 번역은

Example

입니다. 으아악

출력

으아악

이 예에서는 주어진 숫자에 소수점 이하 6자리가 있음을 알 수 있습니다. 단, 소수점 이하 3자리까지만 표시합니다. 그리고 반올림하면 가장 가까운 값으로 자동 변환됩니다. 그러나 이 과정에는 단점이 있습니다. 언제든지 소수점 이하 자릿수 값을 동적으로 변경할 수 없습니다. 이 문제를 극복하기 위해 C++ 기반 setprecision() 메서드를 사용하여 다른 접근 방식을 취할 수 있습니다.

setprecision 메소드 사용

C++에는 소수점 이하 n자리까지 정밀도 값을 설정하는 데 사용되는 setprecision()이라는 특수 형식 지정 함수가 있습니다. 이 방법을 사용하려면 iomanip 라이브러리를 가져와야 합니다. 고정된 소수 자릿수를 사용하도록 지정하는 것도 필요합니다. 구문은 다음과 같습니다:

문법

set 정밀도() 메서드 정의

으아악

예를 들어, 소수점 이하 4자리를 유지하면서 부동 소수점 변수 NUM을 표시하려는 경우 명령문은 다음과 같습니다. -

으아악

Example

의 중국어 번역은

Example

입니다. 으아악

출력

으아악

이것은 소수점 이하 n자리를 나타내는 이상적인 방법입니다. 때로는 n = 0일 때 다른 방법을 사용하여 반올림할 수 있습니다. 그러면 숫자가 정수로 변환됩니다. 구체적인 방법은 다음과 같습니다 −

round() 메소드를 사용하세요

"cmath" 라이브러리에는 숫자를 가장 가까운 정수로 변환하는 round() 메서드가 있습니다. 따라서 이것은 부동 소수점 숫자를 소수점 이하 0자리로 변환하는 것입니다. 구문은 다음과 같습니다.

문법

round() 메소드를 사용하세요

으아악

예를 들어 숫자 45.254를 가장 가까운 정수로 반올림하려는 경우 명령문은 다음과 같습니다.

으아악

Example

의 중국어 번역은

Example

입니다. 으아악

출력

으아악

이 예에서 부동 소수점 숫자를 가장 가까운 정수로 변환하는 적합하고 간단한 방법은 round() 함수를 사용하는 것임이 분명합니다. 이 함수는 숫자를 인수로 사용하고 해당하는 정수를 반환합니다. 이 예에서는 음수 -45.69가 있는데 반올림하면 -46이 되어 원래 숫자보다 작아집니다. 따라서 round() 메소드는 Floor() 또는 ceil()과 다릅니다.

결론

C++로 코드를 작성할 때 소수점 n자리까지 부동 소수점 숫자를 표현하는 방법은 거의 없습니다. 가장 기본적인 방법은 printf() 메서드와 형식 문자열을 사용하는 것입니다. 그러나 이 방법을 사용하면 형식 문자열 소수점 자리를 동적으로 변경할 수 없습니다. 이를 처리하기 위해 C++ iomanip 라이브러리에는 부동 소수점 수를 반올림하기 위한 소수 자릿수를 가져오는 set 정밀도() 메서드가 있습니다. 때로는 부동 소수점 숫자를 가장 가까운 정수(소수점 이하 0자리)로 반올림해야 하는 경우가 있습니다. 이 경우 C++의 cmath 라이브러리에서 round() 메서드를 사용할 수 있습니다.

위 내용은 숫자를 소수점 이하 n자리로 반올림하는 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제