일반적으로 double
은 long double
과 다릅니다.문자열을 long double로 변환 할 때 사용할 함수는 무엇입니까?
strtod
은 문자열을 double
으로 변환하지만 어떤 함수가 문자열을 long double로 변환해야합니까?
일반적으로 double
은 long double
과 다릅니다.문자열을 long double로 변환 할 때 사용할 함수는 무엇입니까?
strtod
은 문자열을 double
으로 변환하지만 어떤 함수가 문자열을 long double로 변환해야합니까?
읽을 boost::lexical_cast
를 사용하거나 : C99에서
std::stringstream ss(the_string);
long double ld;
if (ss >> ld) {
// it worked
}
이 strtold
를 사용합니다.
C89에서 %Lg
으로 sscanf
을 사용하십시오.
C++ 11에서는 stold
을 사용하십시오.
바람직한 방법 [stold] 것, C++에서
C++에서는 boost::lexical_cast
(일반적으로 IOStreams를 통해)을 권장합니다.
c? 몰라.
Matthieu의 C에 대한 힌트, 모든 변환이 가능합니다. printf/* scanf – Shahbaz
당신은 "C++"와 같은 질문을 태그, 그래서 나는 당신에게 대답 ++은 C 주겠다 :
이유는 단지 스트림을 사용하지?
std::stringstream ss(myString);
long double x;
ss >> x;
istream
을 사용하면 string에서 long double을 읽을 수 있습니다. 이 기능의 scanf
가족을 좋아한다면 여기 http://www.cplusplus.com/reference/iostream/istream/operator%3E%3E/
참조, C++ 03에서 %Lf
...가 정확히 받아 각 서식을되는 미묘한 차이가 있으므로 제 상세를 확인할 수있다 (http://en.cppreference.com/w/cpp/string/stof) (사용 가능한 경우). –