Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1116 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Solde avec séparateur de milliers et 2 chiffres après la virgule

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Solde avec séparateur de milliers et 2 chiffres après la virgule

n°1593394
sire de Bo​tcor
Armorican way of life
Posté le 30-07-2007 à 15:48:42  profilanswer
 

Salut !!
 
       J'essaie de mettre des séparateurs de milliers sur mes valeurs monétaires.
J'utilise d'habitude sprintf pour mettre en forme les nombres, mais pour faire ça, je ne suis pas sûr que ce soit possible :/
Jusque là (donc sans le séparateur de milliers) j'utilise cette méthode :  
$solde = sprintf("%1.2f",$solde);
 
Est-ce que qqun saurait ?
 :jap:


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
mood
Publicité
Posté le 30-07-2007 à 15:48:42  profilanswer
 

n°1593409
naceroth
Posté le 30-07-2007 à 16:06:43  profilanswer
 

Pourquoi ne pas utiliser number_format qui est un peu là pour ça ?

n°1593412
sire de Bo​tcor
Armorican way of life
Posté le 30-07-2007 à 16:09:04  profilanswer
 

naceroth a écrit :

Pourquoi ne pas utiliser number_format qui est un peu là pour ça ?


je ne connais, pas, je vais me renseigner là-dessus :jap:
 
 
edit: ça marche nickel !! [:spikler]  
$solde=number_format($solde , 2 , "," , " " );


Message édité par sire de Botcor le 30-07-2007 à 16:14:04

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°1593434
anapajari
s/travail/glanding on hfr/gs;
Posté le 30-07-2007 à 16:44:43  profilanswer
 

naceroth a écrit :

Pourquoi ne pas utiliser number_format qui est un peu là pour ça ?


Pourquoi ne pas utiliser money_format qui est un peu là pour ça ?

n°1593453
naceroth
Posté le 30-07-2007 à 17:15:35  profilanswer
 

anapajari a écrit :


Pourquoi ne pas utiliser money_format qui est un peu là pour ça ?


 
parce que j'évite des réponses dépendant de l'OS sur lequel tourne le serveur. Et au dernière nouvelle, money_format ne fonctionne pas sous windows  ;)  

n°1593457
anapajari
s/travail/glanding on hfr/gs;
Posté le 30-07-2007 à 17:27:25  profilanswer
 

naceroth a écrit :

parce que j'évite des réponses dépendant de l'OS sur lequel tourne le serveur. Et au dernière nouvelle, money_format ne fonctionne pas sous windows  ;)  


c'est pas "aux dernières nouvelles" mais pour longtemps vu que money_format se base strfmon...
Mais si c'est utilisable, je trouve ça mieux que number_format :o
 

n°1597188
sire de Bo​tcor
Armorican way of life
Posté le 08-08-2007 à 14:14:38  profilanswer
 

Je reviens à la charge...
est-ce que vous connaissez un équivalent de number_format en javascript ? (le séparateur de milliers n'est pas indispensable)
 
merci :jap:


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°1597649
antac
..
Posté le 09-08-2007 à 12:58:09  profilanswer
 

function format(valeur,decimal,separateur) {
// formate un chiffre avec 'decimal' chiffres après la virgule et un separateur
 var deci=Math.round( Math.pow(10,decimal)*(Math.abs(valeur)-Math.floor(Math.abs(valeur)))) ;  
 var val=Math.floor(Math.abs(valeur));
 if ((decimal==0)||(deci==Math.pow(10,decimal))) {val=Math.floor(Math.abs(valeur)); deci=0;}
 var val_format=val+"";
 var nb=val_format.length;
 for (var i=1;i<4;i++) {
  if (val>=Math.pow(10,(3*i))) {
   val_format=val_format.substring(0,nb-(3*i))+separateur+val_format.substring(nb-(3*i));
  }
 }
 if (decimal>0) {
  var decim="";  
  for (var j=0;j<(decimal-deci.toString().length);j++) {decim+="0";}
  deci=decim+deci.toString();
  val_format=val_format+"."+deci;
 }
 if (parseFloat(valeur)<0) {val_format="-"+val_format;}
 return val_format;
}
 
function afficher() {
 var val=document.forms[0].elements["chiffre"].value;
 var deci=document.forms[0].elements["decimal"].value;
 document.forms[0].elements["resultat"].value=format(val,deci,document.forms[0].elements["liste"].options[document.forms[0].elements["liste"].selectedIndex].value);
}

n°1597671
sire de Bo​tcor
Armorican way of life
Posté le 09-08-2007 à 13:50:53  profilanswer
 

antac a écrit :

function format(valeur,decimal,separateur) {
// formate un chiffre avec 'decimal' chiffres après la virgule et un separateur
 var deci=Math.round( Math.pow(10,decimal)*(Math.abs(valeur)-Math.floor(Math.abs(valeur)))) ;  
 var val=Math.floor(Math.abs(valeur));
 if ((decimal==0)||(deci==Math.pow(10,decimal))) {val=Math.floor(Math.abs(valeur)); deci=0;}
 var val_format=val+"";
 var nb=val_format.length;
 for (var i=1;i<4;i++) {
  if (val>=Math.pow(10,(3*i))) {
   val_format=val_format.substring(0,nb-(3*i))+separateur+val_format.substring(nb-(3*i));
  }
 }
 if (decimal>0) {
  var decim="";  
  for (var j=0;j<(decimal-deci.toString().length);j++) {decim+="0";}
  deci=decim+deci.toString();
  val_format=val_format+"."+deci;
 }
 if (parseFloat(valeur)<0) {val_format="-"+val_format;}
 return val_format;
}
 
function afficher() {
 var val=document.forms[0].elements["chiffre"].value;
 var deci=document.forms[0].elements["decimal"].value;
 document.forms[0].elements["resultat"].value=format(val,deci,document.forms[0].elements["liste"].options[document.forms[0].elements["liste"].selectedIndex].value);
}


Wow ! merci :jap:  
je vais regarder ça de plus près [:bob la jungle]


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°1617732
mf14
Posté le 02-10-2007 à 10:52:48  profilanswer
 

Bonjour
 
pour info  
 
y a un bug dans cette fonction.....si la valeur est : 0.999999999 et ben la fonction retroune 0.00 ... c'est bete....
 
voila

mood
Publicité
Posté le 02-10-2007 à 10:52:48  profilanswer
 

n°1617779
anapajari
s/travail/glanding on hfr/gs;
Posté le 02-10-2007 à 12:00:52  profilanswer
 

oui alors bon ... y'a une methode de la class Number qui fait ça très bien ( dans la mesure ou tu n'as pas besoin du séparateur des milliers).

Code :
  1. var num = 19.65743;
  2. alert(num.toFixed(2)); // affiche 19.66


 
 

n°1629432
sire de Bo​tcor
Armorican way of life
Posté le 23-10-2007 à 16:00:51  profilanswer
 

anapajari a écrit :

oui alors bon ... y'a une methode de la class Number qui fait ça très bien ( dans la mesure ou tu n'as pas besoin du séparateur des milliers).

Code :
  1. var num = 19.65743;
  2. alert(num.toFixed(2)); // affiche 19.66




ah oui, tiens, ça marche aussi :jap:


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Solde avec séparateur de milliers et 2 chiffres après la virgule

 

Sujets relatifs
Les cookies avec PHP[PHP] Erreur "unexpected $end"
Cron (tache planifié) et script PHP = bug ?lien hypertexte dans PHP
Mettre à jour "date" sur ma BDD avec PHPWIKI (PHP)
PHP + Xajax + Html : code crado, solution : Moteur de template ?[PHP] envoyer des images...
Excel et PHPSite d'enchère sur programmation PHP
Plus de sujets relatifs à : [PHP] Solde avec séparateur de milliers et 2 chiffres après la virgule


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR