Java math.random查询,舍入(概念理解)
我试图理解数学的逻辑。随机或者更具体地说,发生了什么,或者为什么 我基本上理解下面的代码,例如,由于java是一种基于0的语言,我们从0开始索引,等等 下面的代码打印出一个介于0和10之间(包括0和10)的值。 11是排他性的Java math.random查询,舍入(概念理解),java,class,math,rounding,Java,Class,Math,Rounding,我试图理解数学的逻辑。随机或者更具体地说,发生了什么,或者为什么 我基本上理解下面的代码,例如,由于java是一种基于0的语言,我们从0开始索引,等等 下面的代码打印出一个介于0和10之间(包括0和10)的值。 11是排他性的 int result = (int) (Math.random () * 11); 我的问题是,例如,如果我们得到0.99*10,那么为什么=10.99 为什么这个数字不四舍五入到11 这仅仅是设计的结果吗?java总是四舍五入到0?还是我遗漏了一个概念 谢谢您的帮助
int result = (int) (Math.random () * 11);
我的问题是,例如,如果我们得到0.99*10,那么为什么=10.99
为什么这个数字不四舍五入到11
这仅仅是设计的结果吗?java总是四舍五入到0?还是我遗漏了一个概念
谢谢您的帮助。正如我在评论中提到的:
强制转换为
int
将导致地板
。这意味着您的数字将始终四舍五入为0,因此在强制转换为int
后,10.99将变为10
您也可以看到这一点将
转换为int
将导致地板
。这意味着您的数字将始终四舍五入为0,因此在转换为int
后,10.99将变为10。这是否回答了您的问题?我可以提交答案吗?或者你还有其他问题吗?我不知道会有人发言,谢谢大卫,我现在明白了。