2011-04-01 2 views
1

다른 프로젝트와 독립적 인이 프로젝트에서이 코드를 사용합니다. 내가 다른 프로젝트에서 달려있다 다른 프로젝트에서이를 삽입하면Java String.format - 인수 형식 (String, Object [])에 적용 할 수없는 형식 (String, float)

float trg1 = 2.3f; 
String.format("%.2f",tgr1).replace(",", "."); 

는이 같은 오류가 발생합니다 :

방법 형식 인수 형식 (문자열, 부동 소수점 적용 할 수 없습니다 (문자열 [] 객체))

+0

나는 그것을 깨닫지 못했다. ' 형식 문자열에서 ','로 바뀔 수 있습니다. –

답변

6

JRE 1.5 이상을 계속 타겟팅하면서 어떻게 든 1.5 이전 컴파일러를 사용해 보셨습니까? 그게 내가 생각할 수있는 모든 것 ... 이것은 절대적으로 잘 작동해야합니다 (물론 변수 이름을 얻은 후에야).

실패한 프로젝트에서 다른 Java 5 기능 (예 : generics)을 사용할 수 있습니까?

+0

다른 프로젝트에서 JRE를 상위 버전으로 설정하는 것을 잊었습니다. – Gogoo

0

autoboxing이 예상되는 곳에서 차기가 아닌 것처럼 보입니다. 당신의 첫 번째 라인을 변경하는 경우 당신이 작동하도록 강제 할 수 있습니다 거의 확실 같습니다

당신이 방법에 의해, 사용하는 자바의 어떤 버전
Float trg1 = 2.3f; // Notice uppercase Float 

? Java 5는 floatFloat으로 autobox하여 varargs 메소드 호출에 전달해야합니다. 내 제안 된 수정 프로그램이 컴파일되지 않으면 autoboxing을 이해하지 못하는 1.5 이전 컴파일러를 확실히 다루고 있습니다.

1

다른 컴파일러 버전 인 것 같습니다. 이 코드는 1.6 컴파일러에서 올바르게 컴파일됩니다. 그것은 을하지 않습니다.을 만들지 만, 확실히 컴파일되고 실행됩니다.

관련 문제