Tôi mới đến C và khi tôi chạy mã bên dưới, giá trị được đặt ra là 12098 thay vì 12099.Di chuyển vị trí thập phân sang phải trong c
Tôi biết rằng làm việc với số thập phân luôn liên quan đến một mức độ không chính xác, nhưng có cách nào để di chuyển chính xác dấu thập phân đến đúng hai vị trí mỗi lần không?
#include <stdio.h>
int main(void)
{
int i;
float f = 120.99;
i = f * 100;
printf("%d", i);
}
Hãy thử này 'float i, f = 120.99f;'. – haccks
không có trong tiêu chuẩn C++, bạn cần một loại thập phân, như http://sourceforge.net/projects/stddecimal/ – sp2danny
Sử dụng 'ftoa()' và sao chép từng số vào bộ đệm 'char', bỏ qua ký tự dấu thập phân qua' isdigit() '. –