Im trying to get a float value from a file.txt into a string. When I output that value with std::stof(str) it gets rounded. Example, in the text file there's "101471.71", whet i use the std::stof(str) it returns "101472", how to I avoid this?
Here's a part of that code (some parts are in spanish, sorry :p):
double CaptureLine(std::string filepath, int fileline, int linesize)
{
    std::fstream file;
    std::string n_str, num_n;
    int current_line = 0, n_size, filesize = FileSize(filepath);
    char ch_n;
    double n_float = 0.0;
    int n_line = filesize - fileline;
    file.open("registros.txt");
    if (file.is_open()) {
        while (!file.eof()) {
            current_line++;
            std::getline(file, n_str);
            if (current_line == n_line) break;
        }
        if (current_line < n_line) {
            std::cout << "Error" << std::endl;
            return 1;
        }
        file.close();
    }
    n_size = n_str.length();
    for (int i = linesize; i < n_size; i++) {
        ch_n = n_str.at(i);
        num_n.push_back(ch_n);
    }
    std::cout << ">>" << num_n << "<<\n";
    n_float = std::stof(num_n); //Here's the error
    
    return n_float;
}
 
     
    