tôi cần phải ngăn đôi của tôi để in trong ký hiệu khoa học trong hồ sơ của tôi,Ngăn chặn ký hiệu khoa học trong ostream khi sử dụng << với đôi
khi tôi làm điều này
outfile << X;
tôi cần phải ngăn đôi của tôi để in trong ký hiệu khoa học trong hồ sơ của tôi,Ngăn chặn ký hiệu khoa học trong ostream khi sử dụng << với đôi
khi tôi làm điều này
outfile << X;
Để thiết lập định dạng của các biến nổi bạn có thể sử dụng một sự kết hợp của setprecision(n)
, showpoint
và fixed
. Để sử dụng thao tác dòng tham số như setprecision(n)
bạn sẽ phải bao gồm các thư viện iomanip:
#include <iomanip>
setprecision(n)
: sẽ hạn chế nổi đầu ra để n
nơi, và một khi bạn cài đặt nó, nó được thiết lập cho đến khi bạn rõ ràng unset nó cho phần còn lại của đầu ra luồng.
fixed
: sẽ thực thi rằng tất cả các số dấu phẩy động đều được xuất theo cùng một cách. Vì vậy, nếu chính xác của bạn được thiết lập đến 4 nơi, 6.2
, và 6.20
cả hai sẽ được đầu ra như:
6.2000
6.2000
showpoint
: sẽ buộc các phần thập phân của một biến dấu chấm động sẽ được hiển thị, ngay cả khi nó không phải là rõ ràng bộ. Ví dụ, 4
sẽ được xuất ra như:
4.0
Sử dụng tất cả chúng với nhau:
Điều gì khiến bạn nghĩ rằng điểm giới thiệu tạo nên sự khác biệt ở đây? Phần thập phân luôn được hiển thị bằng 0 do độ chính xác. – Ident
bạn có thể sử dụng định dạng cờ
Dưới đây là một ví dụ về việc sử dụng 01.230.
theo câu hỏi của bạn sử dụng
cout<< fixed<< a<< endl;
Câu trả lời hay hơn vì câu trả lời trực tiếp câu hỏi ('cố định'). – Anonymous
Tất cả các câu trả lời trên là hữu ích, nhưng không ai trực tiếp trả lời các câu hỏi.
outfile.setf(ios_base::fixed);
outfile << x;
Tôi tìm thấy câu trả lời trong liên kết @moogs: http://www.cplusplus.com/reference/iostream/ios_base/fmtflags/
Dưới đây là một chương trình demo: http://ideone.com/FMxRp1
liên quan cho các ngôn ngữ khác: [Haskell] (http://stackoverflow.com/questions/8098457/how-do-i-get-to-haskell-to-output-number-not-in-khoa học-ký hiệu) [Lua] (http://stackoverflow.com/questions/1133639/how-can-i-print -a-huge-number-in-lua-without-using-science-notation) [C++ ostreams] (http://stackoverflow.com/questions/2335657/prevent-scientific-notation-in-ostream-when-using- with-double) [Delphi] (http://stackoverflow.com/questions/6077153/how-to-disable-scie ntific-notation-in-asstring-in-delphi) –