精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
222.2222输出不对
float丧失精度的
你想要的保存值,不一定能保存进来的
原来这样
double也会损失精度吗?
对。只是double的好些。
double是最高的级别能表示最高范围的数值吧。
对
注:这是基本类型的理解,数值类型分为整数和小数,小数又分为单精度float和双精度double,单和双其实在占字节数上可以理解,单精度占用4字节,双精度占用8字节,谁的地盘大,谁的本领大。至于小数如何保存,就不是高级语言学的知识了。另外小数值的判断处理,要注意用范围值,不要用确切值。比如想判断是不是22222.2222222,用if(a==22222.2222222)是不行的,要用if(a>=22222.22 && a<=22222.23)才可以,因为小数在内存保存的值是近似值,不是原封不动和字面一样的值。