Hàm chuyển từ string sang float trong C++

cho em hỏi về hàm chuyển từ string sang float trong C++. cám ơn!

Không có hàm, chỉ có thuật toán được hơm :v:, mà ai lại cin >> str rồi chuyển từ str thành float :V, sao không cin >> float luôn.

Bạn dùng hàm std::stof
float stof (const string& str, size_t* idx = 0);
float stof (const wstring& str, size_t* idx = 0);

#include <iostream>   // std::cout
#include <string>     // std::string, std::stof

int main ()
{
  std::string orbits ("686.97 365.24");
  std::string::size_type sz;     // alias of size_t

  float mars = std::stof (orbits,&sz);
  float earth = std::stof (orbits.substr(sz));
  std::cout << "One martian year takes " << (mars/earth) << " Earth years.\n";
  return 0;
}
3 Likes

std::string::size_type sz ======> có nghĩa là gì vậy bạn bạn có thể giải thích thêm cho mình được không ?

hình như là số các số bạn muốn lấy ra, thể hiện độ chính xác bao nhiêu số thập phân, mà cái này hình như tính luôn các số trước dấu .

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?