为啥我赋值double的时候数值不一样
来源:3-8 浮点型案例
慕沐7480834
2022-06-20 21:07:13
相关截图:
就特别奇怪,加了个单精度的命名的f就变成这样了,特别奇怪,去掉f就成5623.654
1回答
同学你好,单精度转双精度时,会出现精度扩大。当用float类型存储56.23.654时,在jvm虚拟机存储的不只是存储的后三位,当用double类型接收时,会发生类型转换,精度会扩大。当小数位数过长时,单精度只能表示长度为7~8位,而双精度可以表示的长度是15~16位,所以单精度转双精度时,小数位数会变长。
祝学习愉快!
相似问题