Tương tự, bạn có thể sử dụng stdlib.h, trong đó là những sprintf
, ecvt
và fcvt
chức năng (hoặc ít nhất, nên có!).
int sprintf(char* dst,const char* fmt,...);
char *ecvt(double value, int ndig, int *dec, int *sign);
char *fcvt(double value, int ndig, int *dec, int *sign);
sprintf trả về số ký tự nó đã viết thư cho chuỗi, ví dụ
float f=12.00;
char buffer[32];
sprintf(buffer,"%4.2f",f) // will return 5, if it is an error it will return -1
ecvt và fcvt ký tự trở lại char tĩnh * địa điểm chứa null chấm dứt đại diện thập phân của các số, không có dấu thập phân, số quan trọng nhất đầu tiên, độ lệch của dấu thập phân được lưu trữ trong tháng mười hai, dấu trong "dấu" (1 = -, 0 = +) ndig là số chữ số có nghĩa để lưu trữ e. Nếu tháng < 0 thì bạn phải pad bằng -dec zeros pror đến dấu thập phân. Tôi eyou không chắc chắn, và bạn không làm việc trên một hệ thống Windows7 (mà sẽ không chạy các chương trình DOS3 cũ đôi khi) tìm TurboC phiên bản 2 cho Dos 3, vẫn còn một hoặc hai tải có sẵn, đó là một chương trình tương đối nhỏ từ Borland là một trình soạn thảo/biên dịch Dos C/C++ nhỏ và thậm chí đi kèm với TASM, mã máy tính 16 bit 386/486, nó được bao gồm trong các tệp trợ giúp cũng như nhiều thông tin hữu ích khác.
Tất cả ba thủ tục đều nằm trong "stdlib.h", hoặc phải là, mặc dù tôi thấy rằng trên VisualStudio2010 chúng là gì nhưng tiêu chuẩn, thường bị quá tải với hàm xử lý ký tự có kích cỡ WORD và yêu cầu bạn sử dụng các hàm cụ thể của riêng nó thay vào đó ... "rất nhiều cho thư viện tiêu chuẩn", tôi lẩm bẩm với bản thân mình gần như mọi lần, "Có thể họ ra ngoài để có được một từ điển tốt hơn!"
Tôi nghĩ anh ấy đang đối mặt với vấn đề với phao không tăng gấp đôi – Aamir
hehe ... thật tuyệt. Tôi tìm downvote ban đầu có thể là do câu trả lời đầu tiên, rất ngắn gọn của tôi (sans sourcecode), và đủ công bằng quá;). – RedBlueThing
Cũng có thể là vì tôi đã phớt lờ toàn bộ vấn đề đại diện của điểm phao và trả lời câu hỏi ở cấp độ khá hời hợt. – RedBlueThing