java中int和double的问题

两个int的值作除法运算,得到的为int,而且,得到的值是直接去掉小数部分。假如:int i=1;j=3;i/j==0 返回的为true 同理,i/3==0 1/3==0 1/j==0都是返回为true 如果,double res=i/j 其返回的结果,不会是0.333...,而是0 如果你要得到为0.333...,则需要 res=((...
java中int和double的问题
两个int的值作除法运算,得到的为int,而且,得到的值是直接去掉小数部分。
假如:
int i=1;j=3;i/j==0 返回的为true
同理,i/3==0 1/3==0 1/j==0都是返回为true
如果,double res=i/j 其返回的结果,不会是0.333...,而是0
如果你要得到为0.333...,则需要 res=((double)i)/j;
而你的

fReuslt=(int)((double)num1/num2)

则会先执行num1/num2,如果num1和num2都int,都到的结果最终会是int,这里假设num1=6,num2=5,则num1/num2==1 为true,而不是1.2,那么,再执行(double)res,这里的res就是num1/num2,故res=1,所以double之后仍然为1,而不是1.22017-08-21
int型除法下取整。1/5=0;double型乘法结果 0*5 = 0.02017-08-21
mengvlog 阅读 50 次 更新于 2025-10-31 11:08:03 我来答关注问题0
  •  翡希信息咨询 Java:找出byte、short、int、long、f1oat和double中的最大数和最小数

    在Java中,不同的数据类型有不同的取值范围。以下是这些数据类型(byte、short、int、long、float和double)的最大数和最小数:byte:最大值:127(即2^7 - 1)最小值:-128(即-2^7)short:最大值:32767(即2^15 - 1)最小值:-32768(即-2^15)int:最大值:2147483647(即2^31 - ...

  •  翡希信息咨询 Java:找出byte、short、int、long、f1oat和double中的最大数和最小数

    在Java中,byte、short、int、long、float和double这些基本数据类型的最大值和最小值如下:最小值:byte:128short:32768int:2147483648long:2^63float:3.4 × 10^38double:1.7 × 10^308最大值:byte:127short:32767int:2147483647long:2^63 1float:3.4 × 10^38double:1.7 × 1...

  •  wzq19920717 java中double和int类型可以相加吗

    可以。多个double类型的数直接相加的时候,可能存在精度误差.( 由于计算机算法以及硬件环境决定只能识别 0 1。计算机默认的计算结果在都在一个指定精度范围之内,想往深的了解,可以学习数值分析等) 在金融方面是绝对不允许的,好在java开发者有这个先见之明。

  • 你可以用一个字符串来保存你的输入,然后你可以将输入利用String类库中的函数进行转换,或者利用contains()函数看,是否还有小数点。System.out.println("pleaseinputthetenstrings:");Scannersc=newScanner(System.in);Stringnumber=sc.nextLine();if(number.contains(".")){ //说明是一个小数 dou...

  •  翡希信息咨询 Java:找出byte、short、int、long、f1oat和double中的最大数和最小数

    在Java中,byte、short、int、long、float和double这些基础数据类型中的最大数和最小数分别如下:最大数: byte:127 short:32767 int:2147483647 long:2^63 1 float:约3.4E38 double:约1.7E308 最小数: byte:128 short:32768 int:2147483648 long:2^63 float:3.4E38 double:1.7...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部