Tách phần thập phân

mọi người cho em hỏi khi tách phần thập phân trong C tại sao nó chỉ in ra tối đa 6 chữ số ạ.
Ví dụ em nhập 1.23456789 thì khi in ra 0.234568.
code đây ạ:

#include<stdio.h>
int main()
{
	int m;
	float n,t;
	scanf("%f",&n);
	m=n;
	t=n-m;
	printf("%f",t);
}

Phần định trị 23 bit thì hiển thị 6 chữ số thập phân (20 bit) khá là hợp lí :smiley:

2 Likes

làm sao để hiện thị được toàn bộ phần thập phân đó bạn,cảm ơn bạn

Độ chính xác của kiểu dữ liệu float chỉ đến thế thôi. Bạn có thể dùng kiểu double để chính xác hơn, hoặc tự xây dựng kiểu dữ liệu để chính xác hơn nữa.

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