C에서 std::istringstream 및 std::stod 함수를 사용하여 문자열을 double로 변환할 수 있습니다.
<code class="cpp">#include <sstream> double string_to_double(const std::string& s) { std::istringstream iss(s); double x; if (!(iss >> x)) { return 0; // Return 0 for non-numerical strings } return x; }</code>
이 함수의 작동 방식은 다음과 같습니다.
이 함수는 허용되는 모든 문자열 표현인 0과 숫자가 아닌 문자열을 완전히 구별할 수 없다는 점에 유의하세요. 예를 들어 다음 문자열은 모두 0으로 간주됩니다.
"0" "0." "0.0"
다음은 string_to_double 함수의 사용법을 보여주는 몇 가지 테스트 사례입니다.
<code class="cpp">#include <cassert> int main() { assert(0.5 == string_to_double("0.5")); assert(0.5 == string_to_double("0.5 ")); assert(0.5 == string_to_double(" 0.5")); assert(0.5 == string_to_double("0.5a")); assert(0 == string_to_double("0")); assert(0 == string_to_double("0.")); assert(0 == string_to_double("0.0")); assert(0 == string_to_double("foobar")); return 0; }</code>
위 내용은 C에서 문자열을 Double로 변환하는 방법: `std::istringstream` 및 `std::stod`를 사용한 간단한 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!