Dùng printf để in số thực với số 0 ở đằng trước?

Có một bạn trên Facebook hỏi

Anh Đạt cho em hỏi em printf ra số thực theo kiểu ####.## có nghĩa là phần nguyên luôn là 4 số, phần thập phân chỉ có 2 số, ví dụ như 1234.23, 0012.32. Em chuyển từ basic sang C nên còn chưa rõ lắm. Cám ơn anh nhiều.
Thực ra em làm việc với vi điều khiển để xuất ra LCD, em gán cho 1 biến chuỗi là sprintf (chuoi, “%4.2f”, sothuc) (hàm chuyển số thành chuỗi). Em cũng đã thử cách giống anh nhưng nó vẫn ko có định dạng giống vậy, như số 12.12 thì nó vẫn là 12.12 chứ ko phải là 0012.12

Ta thử với cái này,

printf("%07.2f", 12.12);

số 4 trong 4.2 có nghĩa là ít nhất 4 ký tự được in ra. Trong đó 12.12 là 5 ký tự rồi. Vậy nên ta tăng lên 7 thì sẽ được 0012.12

I moved 2 posts to an existing topic: Off-topics will be moved here

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?