2014-11-04 3 views
-1

내가이 비교적 새로운 해요 다른 문자열로 ...자바 : 완전히 대체 문자열

나는 수치와 문자열에 "가격 설정"의 모든 인스턴스를 대체 할 replace.all을 수행하기 위해 노력하고있는 변수이기도합니다 : PRICE

SUBSCRIPTION = SUBSCRIPTION.replaceAll("PRICING",PRICE); 

아래의 오류가 발생합니다. 당신의 도움이

+7

그리고 문제는 ...? – ToYonos

+0

코드가 괜찮습니다! .. PRICE는 String입니다. –

+0

당신도 당신의 문제를 제공해 주시겠습니까 .. 많은 감사합니다 .. – sTg

답변

2

에 대한이 시도 알아보기 :

SUBSCRIPTION = SUBSCRIPTION.replaceAll("PRICING", String.valueOf(PRICE)); 
+0

저기있다! 고마워요. 난 아직도이 도움이되는 걸 배우고 있어요. – user1629055

1

가격

Error in method invocation: Method replaceAll(java.lang.String, double) not found in class'java.lang.String' 

덕분에 STRING이 두 배로되지해야합니다.

이 작업을 시도 할 수 있습니다 :

String price = String.valueOf(PRICE) 
SUBSCRIPTION = SUBSCRIPTION.replaceAll("PRICING",price); 
+0

고마워요! 어쩌면 내가 문자열 등에 대해 배우는 데 더 많은 시간을 할애해야한다. 가격 변수를 구성하는 데 어려움을 겪고 있기 때문에 문자열이 두 배가 아닌가? – user1629055

+0

@ user1629055 당신을 도울 수있어서 기뻤습니다 : D !! 이제 정확한 답을 확인할 수 있습니다! –

+0

@ user1629055 -'price'를'double'으로 둡니다 (특히 계산을 위해 사용하는 경우). –

0

replaceAll()이 같은 입력을 필요로하여 오류가 말한대로

public String replaceAll(String regex, 
       String replacement) 

그래서 대체 여기 string 아닌 double 있어야

Error in method invocation: Method replaceAll(java.lang.String, double) 

을 사용하여 String으로 변환 valueOf() 방법. 또는,

String price= Double.toString(PRICE); 

String#replaceAll() 방법

0
String pricing = MessageFormat.format("{0, number, currency}", PRICE); 

SUBSCRIPTION = SUBSCRIPTION.replaceAll("PRICING", pricing); 

문자열이어야합니다.

여기에서는 MessageFormat과 함께 기본 로케일을 사용합니다.

추가 : BigDecimal은 손실 이중보다 더 나은 선택 일 수 있습니다. BigDecimal은 add과 같은 메서드를 사용해야하지만 double은 실수의 근사치입니다.

0

PRICE 변수는 double 유형이며 replaceAll 메서드는 두 번째 매개 변수를 String으로 지정해야합니다. 전환을 추가하면됩니다.

SUBSCRIPTION = SUBSCRIPTION.replaceAll("PRICING",String.valueOf(PRICE)); 
0

아래 코드는 정상적으로 작동합니다.

SUBSCRIPTION = SUBSCRIPTION.replaceAll("PRICING",String.valueOf(PRICE)); 
0

오류 메시지에서 알 수 있듯이 replaceAll() 메서드는 두 개의 문자열 인수를 사용합니다. "String.valueOf (PRICE)"를 사용하여 double을 String 표현으로 변환 해보십시오.

관련 문제