java生成随机数、四舍五入、当前时间的方法

(1)生成随机数:

java中Math类中有个方法random()用于生成0.0-1.0之间的双精度小数。但有时我们需要生成更多范围内的随机数,怎么办呢?其实在java.util.*中有个Random类,其实例有很多方法可以运用:nextInt(a+1)用于返回0-a之间的整数,不包括a。其他还有nextDouble(),nextLong()等方法,如果参数为空则返回任意数。

例如:

double a=Math.random();//生成0-1之间的小数

Random ra=new Random();

int b=ra.nextInt(1000);//生成0-999之间不包括999的整数



(2)四舍五入:

Math类同样有个方法round()用于四舍五入为整数。但怎么能保留指定位数的小数呢?用到了BigDecimal类,方法编写如下,v表示待精度处理的小数,rr表示保留的小数位数。

public double getRound(double v,int rr){
BigDecimal b=new BigDecimal(Double.toString(v));
BigDecimal one=new BigDecimal(1);
return b.divide(one,rr,BigDecimal.ROUND_HALF_UP).doubleValue();
}
例如:

getRound(33.3333,2)=33.33



(3)当前日期:

大家一开始想到的便是Date类,但Date类是比较麻烦的。Date有几个重要的方法,其构造函数:

Data da=new Data();参数为空,表示现在的时间

或是Data da=New Data(毫秒数);表述自1970年1月1日0点0分0秒时+参数值得到的日期

几个重要的方法:

toString():字符串化

getTime(): 返回自格林尼治时间起至现在的差值(以毫秒数计算)

setTime();本对象自格林尼治时间起的毫秒数所对应的日期

下面是得到日期过程:

Date d=new Date();
System.out.print(d.toString());

Tue Aug 31 13:09:21 CST 2010

不过大家可以看出这种日期格式固定死了,但可以利用subString()的方法得到上面的年月日。下面我们说一种不利用subString()方法得到时间的方法,用到了calendar日历类的子类Gregorian Calendar。

几个重要的方法:

getTime():得到当前的日期,是Date类型的,与上面的结果相同。

set(年,月,日,时,分,秒):按固定日期设定当前日期值。

get(叙述式):按叙述式取出所需时间。这是我们将要讲的。

其实叙述是就是类变量,有如下几个:

YEAR、MONTH、WEEK_OF_YEAR、DAY_OF_MONTH、DAY_OF_YEAR、DAY_OF_WEEK、AM_PM、HOUR、HOUR_OF_DAY、MINUTE、SECOND、MILLISECOND,例如得到时间可以表示如下:

GregorianCalendar gc=New Gregorian Calendar();

int year=gc.get(Calendar.YEAR);//取出当前年份

以此类推按照叙述式取出所需的日期格式。各叙述式的意思表面明了,个别模糊的可以查询API。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值