IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSLT] Xsl:number arrondi


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut [XSLT] Xsl:number arrondi
    Bonjour,

    J'ai un petit souci avec la commande xsl:number de XSLT ca me fait des arrondi de mon chiffre! a la place de 12.55 ca me renvoit 13 !

    Est il possible de garder ce qu'il y a après la virgule?

    ma ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:number value="my:EinlagenUmwandlung/my:Aktivenueberschuss" grouping-separator="'" format="1" grouping-size="3"/>

    Merci

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  2. #2
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    ok j'ai compris ca arrondi de toute facon y a rien a faire a par mettre un number et faire un substring pour la virgul mais faut faire attention (0.5 et suivant) a ce que ca ne mette pas un 1.- de plus!

    Bref il aurait fallu faire un attribut de plus pour lui demander d'arrondir ou pas!

    C'est le premier truc que je trouve pas très logique dans la norme XML !!! Y a t'il une facon de justifier ca?

    Merci

    ++

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  3. #3
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Ok j'ai trouver une fonction XPATH qui permet de faire ca sans les arrondi format-number seul problème si on veux les grouper par trois avec un ' entre ca génére des erreur a cause des ouverture fermeture des guillemets:

    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select='format-number(my:EinlagenUmwandlung/my:Aktivenueberschuss, "###'###.00")'/>
    Quelqu'un a t'il une autre idée pour faire cette commande? ou une finte pour faire accepter l'apostrophe?

    Merci
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  4. #4
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    bon ben je déclare forfait pour l'instant! Mais pas pour toujours!!!!!

    J'ai réfléchis autrement et voila ce que j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:when test="contains(my:EinlagenUmwandlung/my:Aktivenueberschuss, '.')"><xsl:number value="substring-before(my:EinlagenUmwandlung/my:Aktivenueberschuss, '.')" grouping-separator="'" format="1" grouping-size="3"/>.<xsl:value-of select="substring(substring-after(my:EinlagenUmwandlung/my:Aktivenueberschuss, '.'), 1,2)"/></xsl:when>
    <xsl:otherwise><xsl:number value="my:EinlagenUmwandlung/my:Aktivenueberschuss" grouping-separator="'" format="1" grouping-size="3"/>.-- </xsl:otherwise>
    mais bon je pense qu'on doit pouvoir faire mieux!

    Si quelqu'un a des idées envoyé les moi!

    Merci

    ++

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  5. #5
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    je continue la simplification:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <xsl:variable name="albert">'</xsl:variable><xsl:choose>
    <xsl:when test="contains(toto, '.')">
    <xsl:value-of select="translate(format-number(toto, '###,###.##'), ',', $albert)"/></xsl:when>
    <xsl:otherwise>
    <xsl:number value="toto" grouping-separator="'" format="1" grouping-size="3"/>.-- </xsl:otherwise>
    </xsl:choose>
    Si quelqu'un a encore une idée pour simplifier c'est volontiers!!!!

    je rappelle le but:

    si nombre: 1234.13 => 1'234.13
    si nombre: 1234 => 1234.--

    Merci pour votre aide

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  6. #6
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Bon ben a voir y personne qu'a une meilleur solution !

    Allez je vous laisse encore un jour après je le cloture!


    Merci

    ++

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT] xsl:import ou xsl:include
    Par SONY30 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 22/09/2006, 08h42
  2. [XSLT]xsl parsing + max
    Par pierre-yves de brito dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 05/07/2006, 15h23
  3. [XSLT] <xsl:if> test sur plusieurs condition
    Par oxilab dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 30/06/2006, 20h30
  4. [XSLT] colorer le <xsl:number>
    Par Floyd dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/10/2005, 18h01
  5. Problème xsl:number
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 24/06/2005, 07h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo