<分区>
Possible Duplicates:
Floating point inaccuracy examples
Is JavaScript's Math broken?
我需要将一些数据从 txt 文件转换为 double 值,为此我正在使用此函数:atof。 问题是必须转换的值是 5.550000 并且 atof 函数返回 5.5499999999999998 这是一个问题,因为我必须用这个数字计算 GPA,而结果并不精确。 这是从 txt 文件中读取数据的函数:
void readNext(FILE* file,Lab* lab)
{
char line[100];
getline(file,line,100);
if (strcmp(line,"") == 0)
{
lab->is_null = 1;
return;
}
strcpy(lab->date,line);
getline(file,line,100);
lab->presence = atoi(line);
getline(file,line,100);
strcpy(lab->num_work,line);
getline(file,line,100);
lab->mark_work = atof(line);
getline(file,line,100);
lab->test_work = atof(line);
getline(file,line,100);
lab->current = atof(line);
getline(file,line,100);
lab->status_work = atoi(line);
getline(file,line,100);
}