2013-01-25 31 views

Trả lời

30

số

Returns: Mỗi hàm trả về một đối tượng chuỗi giữ đại diện đặc trưng của giá trị của đối số của nó mà có thể được tạo ra bằng cách gọi sprintf(buf, fmt, val) với một specifier dạng của "%d", "%u", "%ld", "%lu", "%lld", "%llu", "%f", "%f" hoặc "%Lf", tương ứng, trong đó buf chỉ định bộ đệm ký tự bên trong có đủ kích thước.

+0

http: //en.cppreference. com/w/cpp/string/basic_string/to_string –

2

Tôi tin rằng việc sử dụng std::stringstream với setprecision sẽ là linh hoạt nhất/lựa chọn di động, nhưng nếu bạn biết dữ liệu của bạn, như là một cách giải quyết, bạn có thể thử để substring các to_string kết quả. Ví dụ:

std::string seriesSum(int n) 
{ 
    double sum = 0, div = 1; 
    for(int i = 0; i < n; i++) { 
     sum += 1.0/div; 
     div += 3; 
    } 

    return std::to_string(round(sum * 100)/100).substr(0,4); 
} 

Trong đoạn mã trên tôi in với hai chữ số thập phân 0.00 bằng cách lấy 4 chữ số đầu tiên của chuỗi, nhưng nó chỉ hoạt động bởi vì tôi biết một phần số nguyên không bao giờ đi trên một chữ số. Bạn cũng có thể sử dụng string.find() để tìm kiếm dấu phân tách thập phân và sử dụng vị trí của nó để tính kích thước của chuỗi con, làm cho chuỗi động hơn một chút.

Các vấn đề liên quan