01/10/2018, 16:13
Kiểm tra một số float có phải là số nguyên hay không
Như tít ạ.
Bài tập của mình là xây dựng một hàm tính toán.
Nhưng vấn đề là thầy giáo bắt mở rộng cho cả số thực
Mà số thức thì không có phép toán lấy số dư ( % ấy)
Bây giờ mình muốn kiểm tra xem số nhập vào là nguyên hay thực thì làm sao ạ?
Bài liên quan
Lấy x - (int) x thì ra phần lẻ của x.
Đúng rồi vậy mà mình không nghĩ ra ^^!
câu hỏi của bạn khá thú vị mình sẽ chỉ ra điều thú vị ở đây:
? muốn scan số thực thì phải %f
? muốn scan số nguyên thì %d
như vậy bạn phải scan %f thì mới scan được số thực. và nếu có nhập số nguyên thì nó vẫn là số thực vì sao tập hợp R (số thực ) chứa tập hợp Z (số nguyên) vì vậy 1 số nguyên chắc chắn là số thực
Cách này không xác định được 1 số có kiểu int hay float
Ví dụ a=9.0
Có thể người dùng nhìn 9.0 = 9 = số int
Nhưng trên máy tính 9 int khác 9.0 float
Nếu 1 hàm nào đó chỉ tính toán dựa vào giá trị của biến thì không sao. Nhưng nếu tính toán còn dựa vào kiểu của biến thì fail
Tại thớt viết thế chứ làm sao mà kiểm tra được kiểu do mình đọc ra chứ C mà, runtime làm sao mà biết.
Chắc thớt sẽ dùng float để nhận luôn số nguyên rồi, giờ tách phần lẻ ra là biết ngay.
cảm ơn các bạn.
Đề bài của mình là xây dựng máy tính toán cơ bản. Nhưng mà với phép tính % thì chỉ tính số nguyên cho nên nếu mình khai báo số thực ban đầu thì lại bị báo lỗi chỗ đó.
Nếu check = 0 thì là số nguyên, nếu khác 0 thì là số thực