java - Java math.random 查询、取整(概念理解)
问题描述
我试图理解 math.random 的逻辑或更具体地说是发生了什么以及为什么。
我基本上理解下面的代码,例如由于 java 是一种基于 0 的语言,我们从 0 开始进行索引等。
下面的代码打印出一个介于 0 和 10 之间的值。11 是排他性的。
int result = (int) (Math.random () * 11);
我的问题是为什么例如如果我们得到 0.99 * 10 那么 = 10.99 为什么这个数字不四舍五入到 11?
这是否只是设计使 java 总是向下舍入为 0?还是我错过了一个概念?
谢谢你的帮助。
解决方案
正如我在评论中提到的:转换为 anint
将导致floor
. 这意味着您的数字将始终四舍五入为 0,因此 10.99 在转换为 后将变为 10 int
。
你也可以看看这个参考
推荐阅读
- python - Selenium Firefox 浏览器下载 pdf 后卡住
- go - 如何将 void * 内存从 cgo 复制到切片
- reactjs - 如何编码一个临时的电子邮件数组、密码对并且它可能包含虚构的电子邮件?
- php - 如何使用laravel在数据库中导入具有多个工作表的单个excel文件
- python - Jupyter notebook 无法在 github 上正确显示
- python - Glue-Job 将 CSV 事件转换为 Parquet
- python - Python:无法在 Windows 的子进程中终止子进程和使用 subprocess.Popen() 执行的命令
- c# - Xamarin API Json 列表到 ListView
- kotlin - 在kotlin中将lambda传递给joinToString?
- iis - IIS 重写模块:更改 set-cookie 路径规则