float型数据的难题啊...大家进来看看

sbb928 2004-12-24 03:18:18
float ttt= 100000000f;
System.out.println(ttt);
float ccc= 111111115.23f;
System.out.println(ccc);
float ggg= 1255487852f;
System.out.println(ggg);

结果
1.0E8

1.11111112E8

1.25548787E9

能否解决解决偏差,还有我能否使之输出结果为(不以科学计数法输出,并完全正确)
100000000
111111115.23
1255487852
...全文
157 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
eureka0891 2004-12-27
  • 打赏
  • 举报
回复
用double,还不行就用java.math.BigDecimal
float是解决不了的
天涯柳絮 2004-12-27
  • 打赏
  • 举报
回复
那就用DOUBLE
zhang21cnboy 2004-12-24
  • 打赏
  • 举报
回复
float只允许8位有效数字
dingligang 2004-12-24
  • 打赏
  • 举报
回复
java.math.BigDecimal
sbb928 2004-12-24
  • 打赏
  • 举报
回复
用DOUBLE我知道可以解决,可是我不知道能否解决这个问题
tiaoci 2004-12-24
  • 打赏
  • 举报
回复
用更高精度的数据类型么,
sbb928 2004-12-24
  • 打赏
  • 举报
回复
float ccc= 111111115.23f;
DecimalFormat df = new DecimalFormat("0.00");
String value = df.format(ccc);

还是不对
输出结果为
111111112.00
还是有偏差
ChDw 2004-12-24
  • 打赏
  • 举报
回复
DecimalFormat df = new DecimalFormat("0.00");
String value = df.format(ccc);

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧