Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Définir une contrainte sur l'affichage des décimales d'un nombre

  • RimRejeb
  • RimRejeb's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 11 months ago - 2 years 11 months ago #214568 by RimRejeb
Bonjour à tous,

J'ai des participants qui disposent d'un budget initial de 10€. Je leurs demande de saisir un montant entre 0 et 10€. Les valeurs acceptées sont 0, 0.2, 0.4...9.8,10.
Suite à cette saisie, un texte apparait "il vous reste X€". Avec X = 10 - le chiffre donné par le participant.
En testant le questionnaire, dans certains cas X apparait avec plusieurs chiffres après la virgule.
Quel type de contrainte je pourrais faire sur l'affichage pour que le nombre n'ait qu'1 ou 2 chiffres après la virgule ?
Exemple: supprimer ce qui est colorié en jaune dans la capture ci-dessous

Merci d'avance pour tout aide!
Rim 
Last edit: 2 years 11 months ago by RimRejeb.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 11 months ago #214572 by DenisChenu
Le famuex bug des soustractions des nombre en virgules flottantes.

Bug javascript et PHP …

{round(sum(10,Y),6)}

Mais comme ici tu fait du 20 centimes, peut être :
multiplier 5
arrondir à l'entier
diviser par 5
est la meilleure solution

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
  • RimRejeb
  • RimRejeb's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 11 months ago #214584 by RimRejeb
merci pour votre réponse!

J'ai déjà testé solution de multiplier et de diviser par 5 mais le problème persiste :/

{round(sum(10,Y),6)}, si j'ai bien compris, donne la somme de 10 et de la valeur saisie par le participant.

Est-ce qu'il y a une fonction équivalente pour faire des soustractions? ou une autre solution?
(Pour info, je ne connais pas le langage javascript)

Merci!
Rim
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 11 months ago #214601 by DenisChenu

J'ai déjà testé solution de multiplier et de diviser par 5 mais le problème persiste :/

Merci!
Rim
 
Je veux bien le fichier LSS avec juste cette question  pour des tests.

Sinon : ici ce n'est pas le javascript (quoique) : Le code de LimeSurvey incorpore le gestionnaire d'expression pour faire des calculs. Le code transforme ces expressions en code PHP et Javascript.
Les calculs en javascript et PHP se font en virgules flottantes , ce qui pose un problème insoluble : fr.wikipedia.org/wiki/Virgule_flottante#...%A9cautions_d'emploi

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
  • RimRejeb
  • RimRejeb's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 11 months ago #214604 by RimRejeb
Voici le fichier de ces questions:

File Attachment:

File Name: limesurvey...7935.lsg
File Size:5 KB


Rim
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 11 months ago #214606 by DenisChenu
Un lss : c'est mieux …

Pourquoi un lss :

Avec un lss j'importe un seul fichier, je modifie et te le renvoie.

Avec un lsg ou un lsq :
1. je créé un questionnaire,
2. je tente d'importer : si les langues ne sont pas bonne ca marche pas
 
Donc : c'est plus long …

Comment faire un lss avec uniquement ta question :
Tu copie ton questionnaire , tu supprime les groupes et les questions non nécessaire.

Ce que tu fait pour faire le lss n'est pas plus long que de créer le questionnaire .

Sinon:

Il vous reste {10-floor((Q1P1E3.NAOK*50)/5)/10}€

Semble bien fonctionner.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
  • RimRejeb
  • RimRejeb's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 11 months ago #214628 by RimRejeb
Je m'excuse, je ne voyais pas au début la différence entre lss et lsq... Avec vos explications je vois mieux, merci!
Ci-dessous le bon fichier lss

File Attachment:

File Name: limesurvey...5671.lss
File Size:1,178 KB


J'ai testé la solution proposée de {10-floor((Q1P1E3.NAOK*50)/5)/10} ... le bug n'est pas résolu :(
Rim 
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 11 months ago #214634 by Joffm
{round((10-Q1P1E3.NAOK)*10)/10}

   

 

 


Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • RimRejeb
  • RimRejeb's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 11 months ago #214635 by RimRejeb
ça fonctionne enfin avec {round((10-Q1P1E3.NAOK)*10)/10}!

Merci beaucoup pour vos aides :D
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 11 months ago #214677 by DenisChenu

J'ai testé la solution proposée de {10-floor((Q1P1E3.NAOK*50)/5)/10} ... le bug n'est pas résolu :(

 
va falloir m'expliquer pourquoi cela fonctionne avec le lss que j'ai envoyé (et tester).
 

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
Moderators: Nickko

Lime-years ahead

Online-surveys for every purse and purpose