저는 Java에서 약간의 초보자입니다. 52 개의 주식 가격을 생성하는 프로그램이 있습니다.이 프로그램은 0에서 약 2000의 범위를 가질 수 있습니다. 또한 내 프로그램은 N 개의 다른 주가 "경로" . 나는이 52 주가의 제품이 무엇인지 알아 내고 싶다. 나는 BigDecimal을 사용하기로 결정했다.BigDecimal을 사용한 부정확 한 곱셈
BigDecimal[] productOfStock1 = new BigDecimal[N+1];
for(int k = 1; k <= N; k++){
productOfStock1[k] = BigDecimal.ONE;
}
for(int k = 1; k <= N; k++){
for(int i = 1; i <= n; i++){
if (i == 1){
stockPrice[k][i] = stockZero*Math.pow(e, form + sigma*(randomno.nextGaussian()));
}
else {
stockPrice[k][i] = stockPrice[k][i-1]*Math.pow(e, form + sigma*(randomno.nextGaussian()));
}
productOfStock1[k] = productOfStock1[k].multiply(BigDecimal.valueOf(stockPrice[k][i]));
System.out.println("Stock at [" + i + "] for N = " + N + " and path number " + k + " is " + stockPrice[k][i]);
}
System.out.println("Product : " + productOfStock1[k]);
내가 stockPrice 값을 복사 할 때 [1] [I]를 I에 대해 = 1, ..., Excel로 (52) 및 제품을 산출은, I는 다른 값을 얻을 수 있다고 하였다 부딪힌 문제 내 코드의 BigDecimal 값에서. 어떤 도움을 주셔서 감사합니다.
실제로 어느 것이 옳은지 알아 냈습니까? 아니면 더 정확하게? Excel 또는 BigDec? – Fildor
나는 실제로 어떻게 체크해야할지 모르지만 처음 10 개의 숫자를 계산하고 Excel의 제품 기능과 비교해 보았는데 거의 같았습니다. Excel이 정확하다고 가정합니다. – user3251256