>백엔드 개발 >C++ >C에서 큰 부동 소수점 숫자를 표시할 때 과학적 표기법을 방지하려면 어떻게 해야 합니까?

C에서 큰 부동 소수점 숫자를 표시할 때 과학적 표기법을 방지하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-10-26 21:01:031078검색

How Can I Prevent Scientific Notation When Displaying Large Floating-Point Numbers in C  ?

Cout 출력에서 ​​과학적 표기법 해결

C에서 cout을 사용하는 숫자 출력에 대한 기본 정밀도 및 형식 지정자는 종종 과학적 표기법으로 이어집니다. 특히 큰 부동 소수점 숫자의 경우. 이 문제를 해결하고 정확한 숫자로 숫자를 표시하려면 std::fixed 스트림 조작기를 사용하십시오.

std::fixed를 사용할 때 소수점은 기본 정밀도 6으로 고정되어 숫자가 다음과 같이 표시되도록 합니다. 과학적 표기법 대신 소수를 사용합니다. 제공된 코드에서 이를 설명하려면:

<code class="cpp">#include <iostream>
#include <iomanip>

int main() {
    double x = 1500;
    for (int k = 0; k < 10; k++) {
        double t = 0;
        for (int i = 0; i < 12; i++) {
            t += x * 0.0675;
            x += x * 0.0675;
        }
        std::cout << std::fixed
                  << "Bas ana: " << x
                  << "\tSon faiz: " << t
                  << "\tSon ana: " << x + t
                  << std::endl;
    }
    return 0;
}</code>

std::fixed를 사용하면 이제 출력에 과학적 표기법을 제거하고 정확한 숫자가 포함된 숫자가 표시됩니다.

Bas ana: 3284.78      Son faiz: 1784.78      Son ana: 5069.55
Bas ana: 7193.17      Son faiz: 3908.4       Son ana: 11101.6
Bas ana: 15752.00     Son faiz: 8558.8       Son ana: 24310.8
Bas ana: 34494.50     Son faiz: 18742.5      Son ana: 53237.00
Bas ana: 75537.80     Son faiz: 41043.3      Son ana: 116581.00
Bas ana: 165417.00    Son faiz: 89878.7      Son ana: 255295.00
Bas ana: 362238.00    Son faiz: 196821.00    Son ana: 559059.00
Bas ana: 793246.00    Son faiz: 431009.00    Son ana: 1.22426e+006
Bas ana: 1.73709e+006 Son faiz: 943845.00    Son ana: 2.68094e+006
Bas ana: 3.80397e+006 Son faiz: 2.06688e+006 Son ana: 5.87085e+006

위 내용은 C에서 큰 부동 소수점 숫자를 표시할 때 과학적 표기법을 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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