내 DecimalFormat
은 때때로 '?'를 반환합니다. 시도 할 때 format()
. 이 시나리오를 만드는 입력이 있습니까? 예를 들어Java DecimalFormat은 "?"문자를 반환합니다.
:
DecimalFormat df = new DecimalFormat("#.####");
df.format(X); // output : '?'
X
가 뭘 할 수 있겠 소?
내 DecimalFormat
은 때때로 '?'를 반환합니다. 시도 할 때 format()
. 이 시나리오를 만드는 입력이 있습니까? 예를 들어Java DecimalFormat은 "?"문자를 반환합니다.
:
DecimalFormat df = new DecimalFormat("#.####");
df.format(X); // output : '?'
X
가 뭘 할 수 있겠 소?
물음표가 아니며, U+FFFD REPLACEMENT CHARACTER
으로 표시되어 있습니다.
NaN은 일반적으로 \ uFFFD라는 단일 문자로 구성된 문자열로 서식이 지정되어 있기 때문에 출력 인코딩에 매핑 할 수 없습니다. 이 문자열은 DecimalFormatSymbols 객체에 의해 결정됩니다. 이것은 접두어와 접미사가 사용되지 않는 유일한 값입니다.
마찬가지로,? 무한대 표현은 U+221E INFINITY
문자 (∞)입니다.
무한대는 일반적으로 하나의 문자 \ u221E가있는 문자열로 서식이 지정되며 양수 또는 음수의 접두사와 접미사가 적용됩니다. 무한 문자열은 DecimalFormatSymbols 객체에 의해 결정됩니다.
은 참조 :
"?"이 표시됩니다. X
이 Float.NaN
또는 Float.POSITIVE_INFINITY
인 경우 Float.NEGATIVE_INFINITY
은 "-?"를 반환합니다.
난 그냥 매우 비슷한 문제를 해결했다. 제 경우에는 통화 기호를 Spring으로 반환하고 Thymeleaf 템플릿에 표시하려고했습니다.
public String getAmountDue() {
DecimalFormat decimalFormat = new DecimalFormat("¤0.00");
decimalFormat.setCurrency(this.currency);
String result = decimalFormat.format(amountDue);
return result;
}
그래서 이것은 실제로 브라우저에서 대신, 예를 들어, 올바른 형식의 문자열을 반환되었지만 €99.99
나는 ?99.99
을 얻고 있었다 - 그래서 통화 기호 대신 물음표가 표시되었다. X, 그것을 선언하는 방법, 어떻게 무엇을
<bean class="org.thymeleaf.spring3.view.ThymeleafViewResolver">
...
<property name="characterEncoding" value="UTF-8" />
</bean>
을 정의한다 : 결국
, 그게 내가 내 구성에characterEncoding
를 추가하여 해결하는 것이 나의 봄 구성에 문제입니까? –문제를 증명하는 짧지 만 완전한 예를 들어 주시겠습니까? –
내 질문에 더 잘 어울려야했지만 일반적인 질문에 대한 대답을 찾고있었습니다. "어떤 경우에 DecimalFormat에서 '?' format()을 사용하여 – tinkertime