Frage

Wir arbeiten auf einer Web-Seite, die der Lage sein, sollten die Preise angezeigt werden, so dass Räume die Gruppierungstrennzeichen und Kommas sind die Dezimaltrennzeichen. Zum Beispiel sollte der Wert 1234567.89 als 1 234 567,89 anzuzeigen. (Wir verwenden tatsächlich  , so dass wir einen non-breaking Raum erhalten.)

Dies scheint die richtige XSL, es zu tun, und es fast funktioniert, aber ich bekomme ein „“ Zeichen nach dem Rest. Also habe ich am Ende mit "1 234 567,89." Anstatt von "1 234 567,89".

<?xml version='1.0' encoding='iso-8859-1'?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
xmlns:hsi="http://www.myfakecompany.com/fakey" 
extension-element-prefixes="msxsl hsi">

    <xsl:decimal-format name="euro" 
        decimal-separator="," 
        grouping-separator="&#160;"/>

    <xsl:template match="/">

    <xsl:value-of select="format-number(1234567.89, '#&#160;###.##;(#&#160;###.##)', 'euro')"/>

    </xsl:template>
</xsl:stylesheet>

Irgendwelche Ideen?

War es hilfreich?

Lösung

Der Formatstring wird nach dem Dezimaltrennzeichen angewendet wird, so müssen Sie es ändern:

'#&#160;###,##;(#&#160;###,##)'

d. mit Komma anstelle von Perioden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top