SORU
18 HAZİRAN 2009, PERŞEMBE


::std şamandıra için dize veya çift

float/doublestd::string dönüştürmek için çalışıyorum. Denedim:

std::string num = "0.6";
double temp = (double)atof(num.c_str());

Ama her zaman sıfır değerini döndürür. Başka yolu var mı?

CEVAP
18 HAZİRAN 2009, PERŞEMBE


std::string num = "0.6";
double temp = ::atof(num.c_str());

Benim için, bir çift için bir dize dönüştürmek için geçerli bir C sözdizimi.

Stringstream veya boost ile yapabilirsin::lexical_cast ama bu başarım.

< / ^ hr .

Ahaha Qt bir proje var ...

QString winOpacity("0.6");
double temp = winOpacity.toDouble();

Ekstra not:
Eğer giriş verileri ise const char*, QByteArray::toDouble bir daha hızlı olacaktır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
C++

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kevin Bruckert

    Kevin Brucke

    30 Aralık 2006
  • kindlechatmail

    kindlechatma

    25 AĞUSTOS 2010
  • UKF Dubstep

    UKF Dubstep

    29 NİSAN 2009