C++에서 Setprecision을 사용하는 방법

C Eseo Setprecision Eul Sayonghaneun Bangbeob



여러분은 수학과 물리학에서 부동 소수점 값과 과학적 표기법을 배우고 연구했을 것입니다. 부동 소수점 숫자에 대해 반올림을 수행하는 방법을 배웠을 수도 있습니다. C++의 setprecision 유틸리티는 부동 소수점 정수 출력 시퀀스 내에 표시되는 숫자 시퀀스를 변경하는 데 자주 사용됩니다. 반올림 기능과 동일하게 작동합니다. 이 메소드는 표준 라이브러리에 정의되어 있습니다. 이 튜토리얼에서는 C++의 'setprecision' 기능을 사용하는 방법을 보여 드리겠습니다. 그럼 시작해 보겠습니다. 작업하려면 “Ctrl+Alt+T”를 통해 Ubuntu 쉘 애플리케이션을 시작해야 합니다. 우리의 경우에는 g++인 C++ 컴파일러 설치를 초기화해야 합니다. 따라서 지금까지는 이러한 목적으로 apt 패키지를 활용하겠습니다. 시스템은 단 몇 초 안에 g++를 설치합니다: $ sudo 적절한 설치하다 g++

예시 01:

그래서 우리는 'nano' 명령으로 'new.cc' 파일을 열었습니다. 이 파일은 셸의 '터치' 쿼리를 사용하여 생성됩니다. 이제 파일이 nano 편집기에서 빈 파일로 실행됩니다. 상단에 입출력 “iostream” 헤더 파일을 추가했습니다. 코드의 setprecision() 메소드를 사용하기 위해 'iomanip' 라이브러리가 추가되었습니다. 그런 다음 표준 네임스페이스 “std”를 활용하여 표준 방식의 코드 및 구문을 사용하고 있는지 확인했습니다. 전체 코드는 C++ 코드의 main() 함수 내에서 수행되었습니다. 다른 사용자 정의 함수는 이 목적으로 사용되지 않습니다.







main() 함수 내에서 double 값으로 double 유형 변수 “v”를 초기화했습니다. 첫 번째 'cout' 표준 문은 업데이트 없이 셸에 실제 double 변수 값 'v'를 표시합니다. 그 후, 우리는 각각 setprecision() 메소드를 활용하기 위해 8개의 cout 문을 사용했습니다. 이는 'v' 변수의 각 부동 소수점에 대해 매번 setprecision()을 적용하기 위한 것입니다. setprecision은 5보다 크거나 같은 값에서만 작동한다는 점을 이해해야 합니다. 부동 소수점 값이 5보다 크면 그 앞의 값이 증가합니다.



예를 들어, 첫 번째 부동 소수점의 setprecision()은 해당 점 뒤의 '5'를 반올림하고 값 '4'는 5로 변환됩니다. 마찬가지로 두 번째 부동 소수점 값 '2'는 반올림할 수 없습니다. 세 번째 부동 소수점 값 '7'은 값 '2'를 '3'으로 변환하고, 네 번째 부동 소수점 값 '4'는 반올림할 수 없으며, 다섯 번째 부동 소수점 값 '9'는 값 '4'를 변환합니다. ” 그 전에 5까지. '0' 지점에서는 '4' 값이 5로 변환됩니다. 음수 setprecision()은 실제 값 전체를 표시하는 것 외에는 아무것도 수행하지 않습니다. setprecision()을 적용하면 부동 소수점 0~5 및 -1, -2의 모든 값이 표시됩니다.

이제 g++ 컴파일 쿼리와 './a.out' 실행 쿼리를 사용하여 setprecision C++ 코드를 컴파일하고 실행할 차례입니다. 출력에서는 첫 번째 setprecision(1)이 4를 5로 변환한다는 것을 보여줍니다. setprecision(2)은 아무 작업도 수행하지 않고 '4.5'를 표시합니다. setprecision(3)은 값을 '4.52'에서 '4.53'으로 증가시켰습니다. setprecision(4)은 '4.527' 값에 대해 아무 작업도 수행하지 않습니다. setprecision(5)은 값을 “4.5274”에서 “4.5275”로 증가시킵니다. setprecision(0)은 값을 5로 증가시켰습니다. setprecision(-1) 및 setprecision(-2)은 아래와 같이 아무것도 수행하지 않았습니다.

$ g++ new.cc

$. / a.out

예시 02:

또 다른 사례를 살펴보겠습니다. 코드는 cout 문만 변경된 점을 제외하면 위의 예와 유사합니다. 첫 번째 cout은 원래 값을 표시하고 다음 두 cout은 부동 소수점 1과 5에서 setprecision()의 결과를 표시합니다. 마지막 cout은 물리적으로 사용할 수 없는 부동 소수점 9에서 setprecision() 메서드의 결과를 표시합니다. 1과 5 부동 소수점 결과는 꽤 예상되지만 부동 소수점 9에 대해서는 아무 말도 할 수 없습니다. 파일을 실행하고 이 코드의 출력이 무엇인지 확인해 보겠습니다.

#include

#include

사용하여 네임스페이스 성병 ;

정수 기본 ( ) {

더블 ~에 = 4.52749 ;

시합 << 'setprecision 전 값: ' << ~에 << ' \N ' ;

시합 << 정밀도 설정 ( 1 ) << '발 1: ' << ~에 << ' \N ' ;

시합 << 정밀도 설정 ( 5 ) << '발 5시: ' << ~에 << ' \N ' ;

시합 << 정밀도 설정 ( 9 ) << '발 9시: ' << ~에 << ' \N ' ;

반품 0 ;

}

이 코드를 컴파일하고 실행한 후 부동 소수점 값 '4.52749'의 위치 1과 3에서 setprecision에 대한 명확한 결과를 얻었습니다. setprecision 9의 결과는 double 변수 “v”의 실제 값을 보여줍니다. 이는 위치 9의 값이 고정되어 있지 않기 때문일 수 있습니다.

$ g++ new.cc

$. / a.out

변수 'v'의 값을 수정하기 위해 코드를 다시 업데이트해 보겠습니다. 따라서 첫 번째 setprecision() cout 문이 변수의 첫 번째 위치에 적용된 후 cout에서 고정 변수를 사용했습니다.

#include

#include

사용하여 네임스페이스 성병 ;

정수 기본 ( ) {

더블 ~에 = 4.52749 ;

시합 << 'setprecision 전 값: ' << ~에 << ' \N ' ;

시합 << 정밀도 설정 ( 1 ) << '발 1: ' << ~에 << ' \N ' ;

시합 << 결정된 ;

시합 << 정밀도 설정 ( 5 ) << '발 5시: ' << ~에 << ' \N ' ;

시합 << 정밀도 설정 ( 9 ) << '발 9시: ' << ~에 << ' \N ' ;

반품 0 ;

}

이 업데이트된 코드를 컴파일하고 실행한 후 변수 'v'의 위치 9에서 setprecision의 고정 결과(예: 4.527490000)를 얻었습니다.

$ g++ new.cc

$. / a.out

결론:

마지막으로 이것은 C++ 코드에서 setprecision() 메서드를 사용하여 double 변수의 값을 반올림하고 표시하는 것에 관한 것입니다. 또한 코드의 고정 변수와 그 이점에 대해서도 설명했습니다. 또한 C++의 정밀도 설정 개념을 설명하기 위해 두 가지 중요한 예를 구현했습니다. 이 기사가 도움이 되었기를 바랍니다. 더 많은 팁과 튜토리얼을 보려면 다른 Linux 힌트 기사를 확인하세요.