2013-11-21 7 views
4

숫자 서식에 관한 질문이 있습니다. 내 소스 XML에서 나는이 :XSLT 1.0 : 숫자 형식 문제

<ValueDeltAbsol>1.358.68842</ValueDeltAbsol> 

지금이 실제로 1.358.688,42입니다. 그래서 내 문제는 소수점이 완전히 누락되었습니다. 그래서 제 생각은 제가 제거하는 것이 었습니다. "translate()"가 먼저오고 마지막 두 자리는 자동으로 십진수입니다.

나는 각각 나에게 135868842.00과 135868842 및 135,868,842을 제공하는 다음

<xsl:value-of select="format-number(translate(ValueDelt,'.',''),'#.00')" /> 
<xsl:value-of select="format-number(translate(ValueDelt,'.',''),'#.##')" /> 
<xsl:value-of select="format-number(translate(ValueDelt,'.',''),'###,###.##')" /> 

을 시도했습니다.

마지막 2 자리 숫자를 소수만 입력하면 작동하지 않습니다. 누군가 내가 성취하려고하는 것을 할 수 있는지 말해 줄 수 있습니까?

입력 : <ValueDeltAbsol>1.358.68842</ValueDeltAbsol> 예상 출력 : <ValueDeltAbsol>1,358,688.42</ValueDeltAbsol>

이 매우 피터 감사

항상 (100)에 의해 변환 된 값을 나눌 수있는 소수 두 자리 수있을 것입니다 경우

답변

4

:

<xsl:value-of select="format-number(number(translate(ValueDelt,'.','')) div 100,'###,###.00')" /> 

출력 :

<ValueDeltAbsol>1,358,688.42</ValueDeltAbsol> 
+0

Matthew에게 감사드립니다. 완벽하게 작동합니다. – Peter