2012-01-03 2 views
0

메서드 반환 형식이 ArrayList<String>이며이 형식도 같은 형식의 인수를 읽습니다. 이제 어떻게해야합니까? type cast 또는 그 값을 읽으려면 내 BigDecimal을 수정합니까?BigDecimal의 형식 캐스팅

public static ArrayList<String> currencyUtilArray(ArrayList<String> amountStr) { 
BigDecimal amount = new BigDecimal(ArrayList<String> amountStr); 
//How do I define that the amountStr is ArrayList<String> and need to place in BigDecimal amount one after another till the end of the List 
    return amountStr; 
} 

또는 내가

+0

당신은'ArrayList를 '에'ArrayList에 '로 변환하려고합니까? – Gabe

+0

@Gabe 하나의 메소드는 값의리스트를 호출하고 보내고,이 메소드는'currUtil'에'1234.5678'과'4567.1234'와 같은 두 개의 값을 말합니다. 이제는 값으로 읽는 방식으로'currUtil' 메소드를 정의해야합니다 그것을 처리하기 위해 하나씩 BigDecimal에 배치하십시오. 내 방법을 정의하는 방법? –

답변

1

StringBigDecimal 또는 , 그 반대의 경우는으로 입력 할 수 없습니다.

배열의 문자열이 연결될 때 다음과 같은 것을 할 숫자를 표현하기 위해 의미하는 경우 :

for (String s : amountStr) { 
    BigDecimal amount = new BigDecimal(s); 
    // ... and do something with it ... 
} 
1

난 당신이 올바르게 참조하고 생각하지 않는다 어떻게해야합니까. 전체 ArrayList를 유형 문자열의 AL로 Big Decimal로 변환 할 수 없습니다.

먼저, 새로운 BigDecimal (-) 내에서 ArrayList amountStr을 변경하십시오. ArrayList 내에서 단일 String을 참조하십시오.

당신이 금액으로 추가, 모든 일을 반복해야 할 것입니다 의미 :

BigDecimal amount = new BigDecimal(amountStr.get(0)); 
For(int i = 1; i < amountStr.size(); i++){ 
amount = amount.add(new BigDecimal(amountStr.get(i))); 
} 

나는 그가 반환 될 때 당신이 필요로하는 무엇을 제공해야합니다 생각합니다.

+0

나는 실제로 질문에 혼란 스럽다. 어색함은 당신이 요구하는 것을 정확하게 지적하는 것을 어렵게 만듭니다. ArrayList를 만들려고한다면 내 코드를 사용하지만 for 루프 사이에서 whats를 변경하면 다른 가능성을 줄 수 없습니다. – Andy

0
: 각 string는 별개의 수를 나타내는 경우, 다른 한편으로

StringBuilder sb = new StringBuilder(); 
for (String s : amountStr) { 
    sb.append(s); 
} 
BigDecimal amount = new BigDecimal(sb.toString()); 

내가 이해하는 것은 list elementsBigDecimal Array으로 변환하고 싶습니다. 그렇다면 당신은 다음과 같이 수행 할 수 있습니다

BigDecimal[] amount = new BigDecimal[amountStr.size()]; 
for (int i=0;i<amountStr.size();i++) { 
    amount[i] = new BigDecimal(amountStr.get(i)); 
}