当前位置:  技术问答>java相关

8/(3-8/3)手工算等于24,JAVA程序中算却等于8,怎样使它等于24?

    来源: 互联网  发布时间:2015-10-12

    本文导语:  8/(3-8/3)手工算等于24,JAVA程序中算却等于8,怎样使它等于24?请各位大虾试过后告诉我一声,谢了! | 计算机是数值计算了, 即使是8/(3-8.0/3)也肯定是一个24的近似了 | ...

8/(3-8/3)手工算等于24,JAVA程序中算却等于8,怎样使它等于24?请各位大虾试过后告诉我一声,谢了!

|
计算机是数值计算了,
即使是8/(3-8.0/3)也肯定是一个24的近似了

|
你把数据类型声明为:DOUBLE或者FLOAT 就可以了啊!

|
整数运算中/是整除,必须先强制转换为float:
(float)8/((float)3-(float)8/(float)3)

|
8/(3-8/3)
你这里碰到了小数的运算,而java运算式中,直接数字运算比如
8/3是等于2的,即是默认为int类型:int(8/3)
所以你这样肯定不行
涉及到小数的运算,必须将数值定义为float或double类型的再运算才行
比如:
    float a = 8f;
    float b = 3f;
    float c = a/(b-a/b);
    System.out.println(c);
这样,得到的c值就是近似24的值24.000006。为什么会这样?那是因为java中float类型只有6~7位精度

|
计算机进行计算如果不是整数的话它的结果就是个近似植,如果你要得到24的结果可以有很多方法,不用我教你吧!!!

|
8.0/(3-8.0/3)
 这样就可以了,因为java和C++里面 8/3 为整除,得 2

|
改为8/(3-(8/3))

|
你都不声明类型怎么会不出错呢?

|
呵呵,来晚了

|
缺省的是int型,所以8/3=2;

|
explicit type casting

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 怎样手工删除在XANDROS安装的软件?
  • 如何用代码手工实现激活事件发生
  • 如何手工扩大交换分区
  • wu-ftp在redhat7.3上怎么手工安装?
  • Oracle新手教程 手工创建数据库的全部脚本及说明
  • 如何手工打造一个Linux系统?
  • 手工删除/var/spool/pkg/下的文件包后,pkgadd还是提示软件包有安装,为什么?
  • IBM 7133 磁盘阵列更换硬盘是自动同步还是要手工?
  • ubuntu 如何手工安装ssh
  • 文本模式下安装redhat到disk druid手工分区时……
  • 怎么手工启动和停止sco unix 的服务,另外怎么看服务所占的端口号
  • 高手救命,很急——ORACLE817安装在UNIXWARE711上,手工启动数据库后在netasst中连接错误,高手帮我看看?
  • 请教高手:可不可以手工改tomcat的jdk?
  • java里面有类似VC++的Class wizzard 吗?每个方法都要自己手工加太麻烦了吧?
  • 有没有开发Applet的RAD开发工具? 我手工添加Applet设置按钮位置的代码太麻烦了
  • java中有没有destructor的东东,好像一般的class里都没有嘛,难道不要手工做这些事情,全部交给gc处理吗?
  • [小技巧]手工扩大Oracle数据库表空间的方法
  • SQL Server手工插入标识列的方法
  • >>>>手工编译安装与rpm软件管理器>>>>
  • Oracle数据库手工扩大表空间的方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3