我必须zecimale使用Leibniz公式计算PI 来计算PI到一定数量的小数(在变量中给出).我不知道为什么,但BigDecimal没有一个加法或减法没有修改PI的值.
为什么是这样?
int zecimale = 0;
if (args.length > 0) {
try {
zecimale = Integer.parseInt(args[0]);
} catch (NumberFormatException e) {
System.err.println("Argument" + " must be an integer");
System.exit(1);
}
}
long start = System.nanoTime();
double numitor = 1;
BigDecimal numitor1 = new BigDecimal(1/numitor);
BigDecimal pi = new BigDecimal(1);
for(int x = 0; pi.scale() <= zecimale; x++)
{
numitor1 = new BigDecimal(1 / numitor);
if(x % 2 == 0)
{
pi.add(numitor1);
}
else
{
pi.subtract(numitor1);
}
BigDecimal …Run Code Online (Sandbox Code Playgroud) 我需要一个返回三个字符串的函数:
当然,如果当前月份是1月,这也应该有用.
所以现在,结果应该是: