> 백엔드 개발 > C++ > 제어된 정밀도와 숫자를 사용하여 부동 소수점을 문자열로 정확하게 변환하는 방법은 무엇입니까?

제어된 정밀도와 숫자를 사용하여 부동 소수점을 문자열로 정확하게 변환하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-10-24 03:02:29
원래의
973명이 탐색했습니다.

How to Precisely Convert a Float to a String with Controlled Precision and Digits?

정밀도 및 숫자 제어를 통한 정확한 부동 소수점-문자열 변환

C에서 부동 소수점을 문자열로 변환하려면 정밀도와 숫자를 지정해야 합니다. 십진수로 정확한 표현을 보장합니다.

Stringstream 사용:

일반적인 접근 방식은 stringstream을 사용하는 것입니다.

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

double pi = 3.14159265359;
std::stringstream stream;
stream << std::fixed << std::setprecision(2) << pi;
std::string s = stream.str();
로그인 후 복사

고정 형식 및 Setprecision:

  • fixed: 부동 소수점 값이 특정 소수 자릿수로 표시되는 고정 소수점 표기법을 보장합니다.
  • setprecision: 소수 자릿수를 지정합니다. 유지.

C 17 to_chars 제품군:

기술적 변환을 위해 C 17에서는 to_chars 제품군을 도입합니다.

<code class="cpp">#include <array>
#include <charconv>

double pi = 3.14159265359;
std::array<char, 128> buffer;
auto [ptr, ec] = std::to_chars(buffer.data(), buffer.data() + buffer.size(), pi,
                               std::chars_format::fixed, 2);
if (ec == std::errc{}) {
    std::string s(buffer.data(), ptr);
    // ....
}
else {
    // error handling
}</code>
로그인 후 복사

이를 통해 메서드를 사용하면 변환 시 지정된 정밀도와 숫자가 포함된 문자열이 반환되므로 일반 응용 프로그램과 기술 응용 프로그램 모두에 대한 정확한 표현이 가능합니다.

위 내용은 제어된 정밀도와 숫자를 사용하여 부동 소수점을 문자열로 정확하게 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿