سؤال

ونحن نعمل على صفحة الويب التي ينبغي أن تكون قادرة على عرض أسعار بحيث المساحات هي الفواصل تجميع والفواصل هي الفواصل العشرية. على سبيل المثال، يجب عرض 1234567.89 قيمة كما 1 234 567,89. (نحن في الواقع باستخدام   حتى نحصل على مسافة غير منقسمة).

وهذا يبدو وكأنه XSL المناسب للقيام بذلك، وأنها تعمل تقريبا، ولكن أحصل على "". شخصية بعد ما تبقى منه. حتى ينتهي بي الأمر مع "1 234 567,89." بدلا من "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>

وأي أفكار؟

هل كانت مفيدة؟

المحلول

ويتم تطبيق سلسلة التنسيق بعد تعيين الفاصل العشري، لذلك تحتاج إلى تغييره إلى:

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

وأي بمعنى. بفواصل بدلا من الفترات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top