Inscrivez-vous

abracadabraPDF forum

Le seul forum francophone entièrement dédié au format PDF (norme ISO 32000)

Sky

12 juillet 2018 : 19:29
Apprenti sorcier Messages: 15
Bonjour j'ai des champs texte dont le signe de dollars est déjà présent sur le formulaire (donc pas besoin de s'afficher dans mon champs).
Je cherche un script qui s'affiche avec des espaces entre les centaines et les dizaines avec la virgule et sans le signe de dollars à la fin.
Par exemple comme ceci :
[size=78%]1 234 567,12[/size]
De plus, lorsque l'utilisateur n'a pas encore rempli le formulaire. Le champs ne doit rien afficher. Je ne veux pas voir de 0,00, comme ça si on doit imprimer avant d'avoir rempli à l'écran on peut le faire.


Quelqu'un peut m'aider ?


Merci d'avance  :soleil:

  • Grand magicien
  • Messages: 1 009
bonjour,
Est-ce le résultat d'un calcul ou le nombre est-il rentré manuellement ?
@+
 :bonjour:

  • Grand magicien
  • Messages: 7 683
Bonjour.

Place ce script en "script de format personnalisé" :

event.value = util.printf("%,2.2f",event.value).toString().replace(/\./gim," ");
if (event.value == "0,00") {event.value = ""};

Attention, si le champ qui utilise ce script est utilisé pour d'autres calculs qui en découlent il faudra supprimer la deuxième ligne (qui supprime le zéro) sinon ça provoquerait des erreurs NaN (Not a Number).
Acrobate du PDF, InDesigner, Photoshopographe et WordPresseur

  • Apprenti sorcier
  • Messages: 15
@bebarth : Non mon champs n'est pas un calcul, il est un nombre rentré manuellement.
@Merlin : C'est parfait ! Est-ce possible d'avoir le même javascript mais qu'il fonctionne autant si l'utilisateur inscrit le (point) ou la (virgule) pour tapper le nombre. Actuellement ce code fonctionne seulement si l'utilisateur utilise le (point) mais j'aimerais être certaine que les deux possibilités soit possible dans le meilleur des mondes :)

PS: si vous avez ce code en version inversée aussi pour l'anglais par exemple! Pour avoir un résultat similaire mais inversé :P Résultat : nombre avec un point peut importe si l'utilisateur tape une (virgule) ou un (point)

Merci beaucoup! C'est super apprécié.

  • Grand magicien
  • Messages: 7 683
Pour obtenir le point à la place de la virgule il faut remplacer :


event.value = util.printf("%,2.2f",event.value).toString().replace(/\,/gim," ");

par

event.value = util.printf("%,0.2f",event.value).toString().replace(/\,/gim," ");

Pour le reste je ne sais pas, je te renvoie à la doc…  :joker:

Acrobate du PDF, InDesigner, Photoshopographe et WordPresseur

  • Apprenti sorcier
  • Messages: 15
Merci :D !! Cool ce petit imprime-écran ! Je ne sais pas comment créer de Javascript mais cela va m'être utile de comprendre ces quelques données ! Merci beaucoup.

  • Grand magicien
  • Messages: 1 009
@Merlin : C'est parfait...
Je suis un peu étonné, car pour moi :
event.value = util.printf("%,2.2f",event.value).toString().replace(/\,/gim," ");devrait donner : 1.234 56 puisqu'on remplace chaque virgule par un espace... il faudrait plutôt écrire :event.value = util.printf("%,2.2f",event.value).toString().replace(/\./g," ");...de plus, g devrait suffire pour global quand on remplace un signe !
Et dans l'autre exemple il faut remplacer les virgules par un espace .replace(/\,/gim," ") et le point par une virgule .replace("\.","\,") (il devrait n'y en avoir qu'un).
@+
 :bonjour:

  • Apprenti sorcier
  • Messages: 15
Bonjour les gars :)

Le javascript de Merlin fonctionne très bien pour moi pour la règle typographique en français : 1 234 567,89 et ne pas afficher 0,00 quand rien n'est inscrit dans la case.

event.value = util.printf("%,2.2f",event.value).toString().replace(/\./gim," ");
if (event.value == "0,00") {event.value = ""};

par contre pour la règle typographique en anglais, aucun des codes ne fonctionne .. j'ai tenté plusieurs options mais sans résultats : 
Il me faut un javascript pour ceci : 1 234 567.89 et ne pas afficher 0.00 par défaut..

Quelqu'un pourrait m'aider à obtenir se format SVP. ? 

  • Grand magicien
  • Messages: 7 683
Il me faut un javascript pour ceci : 1 234 567.89 et ne pas afficher 0.00 par défaut.
Il faut remplacer la virgule par un point dans la 2e ligne :

if (event.value == "0.00") {event.value = ""};


Ça devrait aussi fonctionner avec :

if (event.value == "0") {event.value = ""};
Acrobate du PDF, InDesigner, Photoshopographe et WordPresseur

  • Apprenti sorcier
  • Messages: 15
Bonjour Merlin, la première partie non plus ne fonctionne pas pour le format 1 234 567.89
je suis un peu désespérée !

  • Grand magicien
  • Messages: 1 009
bonjour,
Il me faut un javascript pour ceci : 1 234 567.89 et ne pas afficher 0.00 par défaut..
J'avais cru comprendre que l'utilisateur tape un point (12345.78) ou une virgule (12345,78), le résultat devait être 12 345,78
C'est pas cela ???
@+
 :bonjour:

  • Apprenti sorcier
  • Messages: 15
C'est exacte bebarth,

il me faut maintenant l'inverse hihi :  que l'utilisateur tape un point (12345.78) ou une virgule (12345,78), le résultat soit 12 345.78

J'ai tout essayé, mais je ne suis pas tombé sur ce résultat...

  • Grand magicien
  • Messages: 1 009
Voilà !
Rien à voir avec le script de Merlin. C'est un champ texte avec un script de touches personnalisé pour n'admettre que les chiffres, le point et la virgule et un script en champ désactivé pour faire le job!
Tu as les 2 versions avec au final le point ou avec la virgule.
J'ai mis un espace fin au lieu d'un espace pour séparer les milliers.
Tu me dis si j'ai oublié quelque chose.
@+
 :bonjour:

  • Apprenti sorcier
  • Messages: 15
bebarth tu es mon sauveur !!

Il manque un seul détail et on y est.. j'ai essayer de recopier ce javascript : if (event.value == "0,00") {event.value = ""};
il ne fonctionne plus avec ton javascript.  Est-ce possible de faire en sorte que le champs reste vide et n'affiche pas : .00 ou ,00 par défaut lorsqu'il n'est pas rempli ?
Je sais, je sais ! Je suis exigeante hihi!

  • Grand magicien
  • Messages: 1 009
bonjour,

Je sais, je sais ! Je suis exigeante hihi!

Tu es une femme, non ???
Voilà, je pense que ce coup-ci tout y est !!!
@+
 :bonjour:

...et donc, en plein dans le mille !
 :geek:

  • Apprenti sorcier
  • Messages: 15
C'est de la magie ! Plus que parfait !  :bravo: :bonjour: Merci bebarth!  :soleil:

  • Grand magicien
  • Messages: 7 683
 :bravo:
Acrobate du PDF, InDesigner, Photoshopographe et WordPresseur