关于数据类型的问题

桾楉叁杄 2012-01-06 05:43:26
类型的问题

一个变量A 是统计积分的 不能用字符串

积分有小数点 如果用double的话 任何数都有小数点

比如说12这个数 如果设置成double的话 就会变成12.0

如果用整型的话肯定不行

用什么数据类型合适呢?
...全文
81 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltandfyy 2012-01-10
  • 打赏
  • 举报
回复
可以用double存,如果为了防止精度不够可以用楼上说的BigDecimal来存
然后LZ查下java.text.DecimalFormat这个类的api,里面的format方法,也可以像5楼那样自己写个格式化方法
Ciffer 2012-01-10
  • 打赏
  • 举报
回复
为什么不用BigDecimal呢?涉及小数的基本都用这个类型的,很少用double的
桾楉叁杄 2012-01-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 runffer_yang 的回复:]

if (d-(int)d < 1e-6)
System.out.println((int)d);
else
System.out.println(d);
[/Quote]
非常感谢
Ciffer 2012-01-10
  • 打赏
  • 举报
回复
BigDecimal
Steve 2012-01-10
  • 打赏
  • 举报
回复
if (d-(int)d < 1e-6)
System.out.println((int)d);
else
System.out.println(d);
桾楉叁杄 2012-01-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 runffer_yang 的回复:]

用double存,12.0时显示的地方变成12就行了。
[/Quote]

如何变成12?
Steve 2012-01-06
  • 打赏
  • 举报
回复
用double存,12.0时显示的地方变成12就行了。
桾楉叁杄 2012-01-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 okayu 的回复:]
可能要用扩展包哦。
比如(1/3)×(3/5) 你用什么类型都得不到特别准确的结果。
如果是工程计算的话,你把所有的用最高精度表示,结果肯定可以用。
据说有分数运算包,但是复杂的积分运算就不知道了。

积分你用JAVA干嘛? 用Matlab得了。
[/Quote]

我不需要计算 只需要显示

就是比如说一个数组 里面装着的是数字

我既想把12.33装进这个数组

还想把12装进这个数组

这个数组还不能是String型的
熊猫哥哥 2012-01-06
  • 打赏
  • 举报
回复
可能要用扩展包哦。
比如(1/3)×(3/5) 你用什么类型都得不到特别准确的结果。
如果是工程计算的话,你把所有的用最高精度表示,结果肯定可以用。
据说有分数运算包,但是复杂的积分运算就不知道了。

积分你用JAVA干嘛? 用Matlab得了。

67,514

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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