Làm tròn số kiểu double trong C

Tình hình là giáo viên cho 1 bài workshop về làm tròn số.Code cô cho mình như sau:

#include<stdio.h>
int main() {

    double value;

    printf("Enter a value : ");
    scanf("%lf", &value);

    printf("The value accepted was in 20.16 format"" : %20.16lf\n", value);
    
    printf("The value accepted was in 14.10 format"" : %14.10lf\n", value);
    
    printf("The value accepted was in  6.2  format"" : %6.2lf\n", value);

    return 0;
 }




Mình lần lượt input value: 1.999, 1.999999999, 1.9999999999999999
Và nó ra kết quả như trong ảnh.
Cái 1.999 thì nó in ra 1.9990000001. Ai giải thích giùm mình với đc k?
Thanks

1 Like

sau dấu . là số chỉ bao nhiêu số xuất hiện trong phần thập phân

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