社区
Java SE
帖子详情
关于Math.random,这种写法是什么意思?
九条腿咸鱼
2011-08-18 11:30:58
long parityNum = ( )(Math.random() * 10000.0D)
问题1:前边的括号是干嘛的?
问题2:10000.D中的D是啥意思?为什么要这么用?
...全文
227
10
打赏
收藏
关于Math.random,这种写法是什么意思?
long parityNum = ( )(Math.random() * 10000.0D) 问题1:前边的括号是干嘛的? 问题2:10000.D中的D是啥意思?为什么要这么用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
luohuijun619
2011-08-18
打赏
举报
回复
用Random类吧,更方便
九条腿咸鱼
2011-08-18
打赏
举报
回复
[Quote=引用 7 楼 liuyuhua0066 的回复:]
1.涉及到强制转型,因为右侧的结果是double型,左侧是long,将double型转为long型会丢失精度,如需要转换只能用"()"进行强制转型。[/Quote]
如果我的目的就是为了丢失精度呢?我从random处就是为了取出一个4位的整数,于是,就可以用强制类型转换了。嘿嘿,我刚想明白的!
九条腿咸鱼
2011-08-18
打赏
举报
回复
[Quote=引用 6 楼 x19881216 的回复:]
问题2:
D和d加在数字后面表示double型
F,f表示float型
L,l表示long型
0x123456表示16进制
o123456注意最前面的是字母o表示八进制
[/Quote]
谢谢,可我已经结贴了……o(︶︿︶)o 唉
liuyuhua0066
2011-08-18
打赏
举报
回复
1.涉及到强制转型,因为右侧的结果是double型,左侧是long,将double型转为long型会丢失精度,如需要转换只能用"()"进行强制转型。
2.完全可以不加D,因为浮点数默认的就是double型,当然,加上也没有错。
小绵羊
2011-08-18
打赏
举报
回复
问题2:
D和d加在数字后面表示double型
F,f表示float型
L,l表示long型
0x123456表示16进制
o123456注意最前面的是字母o表示八进制
九条腿咸鱼
2011-08-18
打赏
举报
回复
[Quote=引用 2 楼 cbxjj 的回复:]
1.前面括号不写类型比如long绝对会报错
2.D应该是double吧 没什么意义吧
[/Quote]
1.确实会报错,会报“Type mismatch: cannot convert from void to long”!因为我这个是从jar包反编译过来的,所以可能有这种写法也不报错,但是真是的源码里应该不是这么写的!
2.可能也跟反编译有关。刚查了一下,Math.random是返回double的,*10000.0就已经是double了没必要再加个D。其实就是写*1000也没问题!
3.谢谢各位
壮壮203
2011-08-18
打赏
举报
回复
括号里什么也不写是编译不过去的,这个地方括号里必须加long。
softroad
2011-08-18
打赏
举报
回复
楼上都说了。
剑神一笑
2011-08-18
打赏
举报
回复
1.前面括号不写类型比如long绝对会报错
2.D应该是double吧 没什么意义吧
阳明 to life
2011-08-18
打赏
举报
回复
问题1:不晓得。。。估计少些了(long)
问题2:表示double类型数
jrands:构造函数的
random
函数可以指定随机种子
jrands(#$) 概述 jrands 是什么? jrands 就是对 .NET 的 做另一个简单实现 JS
写法
let
random
= new jrands.
Random
(2) let i =
random
.next() +
random
.next() console.log(i) 对应 C#
写法
var r = new
Random
(2); var i = r.NextDouble() + r.NextDouble(); Console.Writeln(i); License MIT :copyright:
JS学习21:用
Math
.
random
() 来进行随机点名
Math
.
random
() 返回一个随机的小数 0 =< x < 1 [0,1) console.log(
Math
.
random
());//这个方法里面不跟参数 如何用
Math
.
random
() 来进行随机点名? 获取指定范围内的随机整数:这是个固定
写法
,大家不需要记忆,知道怎么用即可。 function get
Random
(min, max) { return
Math
.floor(
Math
.
random
() * (max - min + 1)) + min; /
03.分支语句和循环语句
1.例举:Object、String、
Math
、
Random
...2.正则表达式和包装类及日起和时间相关
理解
math
.floor(
math
.
random
() * (max - min + 1)) + min
Math
.
random
()函数是返回一个浮点数, 伪随机数在范围从0到小于1;
Math
.floor()返回小于或等于一个给定数字的最大整数。 console.log(
Math
.
random
()); console.log(
Math
.floor(
Math
.
random
())); 我们可以通过查看网页控制台以下结果,console.log(
Math
.floor(
Math
.
random
()))我们只能取到唯一整数0,而1是取不到的。 如何取到1?我们可以试着将
Math
.rando...
Math
.
Random
()随机产生6位数的
写法
理解
做项目时需要生成6位数的验证码 (int)((
Math
.
random
()*9+1)*100000) 项目中要用到6位随机数,突然看到这样的取法一时想不明白为什么要乘以9,找到答案后就记录下来!
Math
.
random
()取得是0-1之间的随机小数(事实上取不到 0 和1),乘以9之后应该是0-9之间的随机小数,实际上也就是0.**到8.****之间的小数(大于0而小于 9),经过int类型转换之后,应该是 0-8 之间的随机整数,所以"+1"之后就会得到1-9之间的的小数,乘以10000来获取范围在
Java SE
62,616
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章