C语言-精度问题

C语言-精度问题引子以四舍五入 保留两位小数为例 输入数据 123 456 理想结果 123 46 但是选取不同的数据类型会得到不同的小数精度只能是约等于 123 46C 语言中浮点数无法精确存放 double 类型的精度高于 float 类型

大家好,欢迎来到IT知识分享网。

C语言-精度问题

①引子

以四舍五入,保留两位小数为例,

输入数据:123.456

理想结果:123.46

但是

选取不同的数据类型

会得到不同的小数精度

只能是约等于123.46

C语言中

浮点数无法精确存放,

double类型的精度高于 float类型。

②float类型的精度

float fun (float h)

{long t;

t=(h*1000+5)/10;

return(float)t/100;}

输入数据:123.456

原始数据:123.

实际结果:123.

~

float fun (float h)

{int t=(int)(h*1000+5)/10;

return(float)t/100;}

输入数据:123.456

原始数据:123.

实际结果:123.

float fun (float h)

{return(float)(int)(h*1000+5)/10/100;

}

输入数据:123.456

原始数据:123.

实际结果:123.

③double类型的精度

double fun (double h)

{long t;

t=(h*1000+5)/10;

return(double)t/100;}

输入数据:123.456

原始数据:123.

实际结果:123.

~

double fun (double h)

{int t=(int)(h*1000+5)/10;

return(double)t/100;}

输入数据:123.456

原始数据:123.

实际结果:123.

~

double fun (double h)

{return(double)(int)(h*1000+5)/10/100;

}

输入数据:123.456

原始数据:123.

实际结果:123.

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/94100.html

(0)
上一篇 2024-10-25 16:33
下一篇 2024-10-31 08:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信