mlcc- 2021-11-25 23:27 采纳率: 100%
浏览 53
已结题

Java中大数除以一个小数可以得到结果,反过来却始终得0,这是为什么呢?

附上代码:

import java.util.List;

public class test01 {

public static List<Integer> ratio(int size, int size2, int size3) {
    //总评/好评/中评
    System.out.println(size);
    System.out.println(size2);
    System.out.println(size3);
    double hao =size2/size;
    System.out.println("好评率:"+hao);
    //??????????????????????????????????
    return null;
}

public static void main(String[] args) {
    List<Integer> list = ratio(100,50,3);
    System.out.println(list);
}

}

  • 写回答

3条回答 默认 最新

  • CSDN专家-sinJack 2021-11-25 23:30
    关注

    因为整型相除,结果是整型,舍去了小数。跟你用浮点型接收没关系。
    将其中的数转为浮点型就可以了。

    double hao =size2*1.0/size;
    
    
    import java.util.List;
    public class test01 {
    public static List<Integer> ratio(int size, int size2, int size3) {
        //总评/好评/中评
        System.out.println(size);
        System.out.println(size2);
        System.out.println(size3);
        double hao =size2*1.0/size;
        System.out.println("好评率:"+hao);
        //??????????????????????????????????
        return null;
    }
     
    public static void main(String[] args) {
        List<Integer> list = ratio(100,50,3);
        System.out.println(list);
    }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
  • 技术专家团-Bamboo 2021-11-25 23:30
    关注

    大数除以小数得到的结果也是去除小数部分之后的,要把其中一个数转成小数才可以
    double hao = size2 * 1.0 / size;

    评论
  • 冰思雨 2021-11-26 09:23
    关注

    数据类型的问题。
    整型数据除以整型数据的结果仍然是整型数据。
    你要想得到浮点型的结果,要先将除数或者被除数转换成浮点型数据再进行除法运算。
    Java 语言不会根据结果的数据类型来自动转换除数或被除数的数据类型。

    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月4日
  • 已采纳回答 11月26日
  • 创建了问题 11月25日

悬赏问题

  • ¥15 QT 实现 RSTP 语音对讲功能
  • ¥50 AES魔改之后的安全性关于PRF(相关搜索:密码学)
  • ¥15 有没有谁能高分通过 reCaptcha v3验证,国外网站。有兴趣留言,有偿。
  • ¥15 用C语言写的一个程序遇到了两个问题第一是偏移正确但读取不到坐标,第二个问题是自己定义的函数实现不了获取指定进程模块。
  • ¥15 在安装Anaconda时总是闪退怎么办?
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥500 抖音主页视频预存加载卡bug