Tôi có một chuỗi mà trông như thế này:Format chuỗi thành ký hiệu khoa học
"0.4794255386042030002732879352156"
đó là xấp xỉ sin (0.5). Tôi muốn định dạng chuỗi để trông đẹp hơn nhiều
"4.794255386042e-1"
Làm cách nào để đạt được điều này? Hãy nhớ rằng tôi đang xử lý các chuỗi và không phải là số (float, double). Ngoài ra tôi cần phải làm tròn để giữ số càng chính xác càng tốt, tôi không thể cắt ngắn. Nếu tôi cần phải chuyển đổi sang một kiểu dữ liệu khác, tôi muốn có một double dài hơn vì một double thường xuyên không có đủ độ chính xác. Tôi muốn có ít nhất 12 chữ số thập phân trước khi làm tròn. Có lẽ có một chuyển đổi sprintf() đơn giản mà tôi có thể làm.
Không, đó là kết quả đầu ra 0,4794255386042030002732879352156, mà không phải là những gì ông yêu cầu. – dcp
Không, nó xuất ra 4.794255e-01 (độ chính xác mặc định là 6). 'cout.precision (12)' sẽ đặt thành mười hai. –