2012-05-10 70 views

回答

0

看看this JavaDoc的。一旦你有一个a lot的数值,做一个简单的for循环,并使用Random类初始化随机double值。

+0

'Random'只返回'flot','long','double' ...但不'BigDecimal' – Mehdi

+0

可惜的是,我们不会强迫谁downvote离开某种评论... – npinti

+0

的人@ user15992听起来好像花了几分钟时间浏览BigDecimal类的javadoc。 BigDecimal有几个构造函数,其中一些将双精度作为参数。 – mcfinnigan

0

试试这个代码

class BigDecRand { 
public static void main(String[] args) { 
    String range = args[0]; 
    BigDecimal max = new BigDecimal(range + ".0"); 
    BigDecimal randFromDouble = new BigDecimal(Math.random()); 
    BigDecimal actualRandomDec = randFromDouble.divide(max,BigDecimal.ROUND_DOWN); 

    BigInteger actualRandom = actualRandomDec.toBigInteger(); 
} 

}

更多细节

+1

从类似的问题复制代码,并假装它是你的也许不是很有礼貌?除此之外,如果海报真的想要一个BigDecimal,我会假设他需要更高的精度,这个答案会给他什么。 – jarnbjo