View Single Post
Old 11-12-2012, 09:59 AM   #3
tducquan
Nhập môn đệ tử
 
Tham gia ngày: Oct 2010
Bài gửi: 1
:
Trích:
Nguyên văn bởi nickyshadow View Post
mình đang làm project về adc, về phần đọc mức giá trị thì ok rồi, nhưng phần hiển thị giá trị mình cần một hàm convert từ float qua dạng chuỗi

mình đã thử dùng hàm sprintf trong thư viện chuẩn, nhưng mình thấy nó tốn quá nhiều bộ nhớ chương trình, mình test thử khi có hàm sprintf và khi không có thì nó chênh lệch nhau tới 19KB, mong các bác giúp mình một chương trình con dạng sau:

chuyển từ float sang chuỗi, tham số truyền vào là một số float, số chữ số trước dấu . và số chữ số sau dấu .

Ví dụ em có một con số là
Code:
 float x=123.4567;
thì khi đưa vào hàm xử lý nó với yêu cầu là 5 chữ số trước dấu, và 2 chữ số sau dấu phẩy sẽ ra dạng
Code:
*result="  123.45";// lưu ý 2 dấu space bar ở trước số 1, tức là nếu ko đủ thì sẽ điền space bar vào
trong một số chương trình như CCS có hỗ trợ sẵn việc này.
Code:
float f=123.456;
printf("F = '%g\n'",f); //the là ta truyền thông qua RS232 là: F = '123.456'
hoặc
Code:
printf("F = '%9g\n'",f); //the là ta được F = '  123.456'
tducquan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn