begin process at 2012 02 11 05:05:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > FORMATER UN NOMBRE, FAÇON NUMBER FORMAT DE PHP

FORMATER UN NOMBRE, FAÇON NUMBER FORMAT DE PHP


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :formater, nombre, chiffre, number Niveau :Débutant Date de création :24/10/2006 Vu :26 943

Auteur : ::mastahbenus::

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Formate un nombre pour l'affichage (retourne une chaîne représentant un nombre formaté)
Permet de choisir le nombre de décimales, le signe precedent les decimales, le separateur de milliers
--------------------------------------
Ex emples:
var monEntier = 1234567891011;
var monFlottant = 12345.1556;
monEntier.nombreFormate(); // 1 234 567 891 011.00
monFlottant.nombreFormate(3, ',', '`'); // 12`345,156
--------------------------------------
En esperant que ca pourra servir a qqn

Source

  • /*
  • * +-------------------------------------+
  • * Number.prototype.nombreFormate
  • * +-------------------------------------+
  • * Params (facultatifs):
  • * - Int decimales: nombre de decimales (exemple: 2)
  • * - String signe: le signe precedent les decimales (exemple: "," ou ".")
  • * - String separateurMilliers: comme son nom l'indique
  • * Returns:
  • * - String chaine formatee
  • */
  • Number.prototype.nombreFormate = function (decimales, signe, separateurMilliers) {
  • var _sNombre = String(this), i, _sRetour = "", _sDecimales = "";
  • if (decimales == undefined) decimales = 2;
  • if (signe == undefined) signe = '.';
  • if (separateurMilliers == undefined) separateurMilliers = ' ';
  • function separeMilliers (sNombre) {
  • var sRetour = "";
  • while (sNombre.length % 3 != 0) {
  • sNombre = "0"+sNombre;
  • }
  • for (i = 0; i < sNombre.length; i += 3) {
  • if (i == sNombre.length-1) separateurMilliers = '';
  • sRetour += sNombre.substr(i, 3)+separateurMilliers;
  • }
  • while (sRetour.substr(0, 1) == "0") {
  • sRetour = sRetour.substr(1);
  • }
  • return sRetour.substr(0, sRetour.lastIndexOf(separateurMilliers));
  • }
  • if (_sNombre.indexOf('.') == -1) {
  • for (i = 0; i < decimales; i++) {
  • _sDecimales += "0";
  • }
  • _sRetour = separeMilliers(_sNombre)+signe+_sDecimales;
  • } else {
  • var sDecimalesTmp = (_sNombre.substr(_sNombre.indexOf('.')+1));
  • if (sDecimalesTmp.length > decimales) {
  • var nDecimalesManquantes = sDecimalesTmp.length - decimales;
  • var nDiv = 1;
  • for (i = 0; i < nDecimalesManquantes; i++) {
  • nDiv *= 10;
  • }
  • _sDecimales = Math.round(Number(sDecimalesTmp) / nDiv);
  • }
  • _sRetour = separeMilliers(_sNombre.substr(0, _sNombre.indexOf('.')))+String(signe)+_sDecimales;
  • }
  • return _sRetour;
  • }
/*
 * +-------------------------------------+
 * Number.prototype.nombreFormate
 * +-------------------------------------+
 * Params (facultatifs):
 *	- Int decimales: nombre de decimales (exemple: 2)
 *	- String signe: le signe precedent les decimales (exemple: "," ou ".")
 *	- String separateurMilliers: comme son nom l'indique
 * Returns:
 *	- String chaine formatee
 */
Number.prototype.nombreFormate = function (decimales, signe, separateurMilliers) {
	var _sNombre = String(this), i, _sRetour = "", _sDecimales = "";
	if (decimales == undefined) decimales = 2;
	if (signe == undefined) signe = '.';
	if (separateurMilliers == undefined) separateurMilliers = ' ';
	
	function separeMilliers (sNombre) {
		var sRetour = "";
		while (sNombre.length % 3 != 0) {
			sNombre = "0"+sNombre;
		}
		for (i = 0; i < sNombre.length; i += 3) {
			if (i ==  sNombre.length-1) separateurMilliers = '';
			sRetour += sNombre.substr(i, 3)+separateurMilliers;
		}
		while (sRetour.substr(0, 1) == "0") {
			sRetour = sRetour.substr(1);
		}
		return sRetour.substr(0, sRetour.lastIndexOf(separateurMilliers));
	}
	if (_sNombre.indexOf('.') == -1) {
		for (i = 0; i < decimales; i++) {
			_sDecimales += "0";
		}
		_sRetour = separeMilliers(_sNombre)+signe+_sDecimales;
	} else {
		var sDecimalesTmp = (_sNombre.substr(_sNombre.indexOf('.')+1));
		if (sDecimalesTmp.length > decimales) {
			var nDecimalesManquantes = sDecimalesTmp.length - decimales;
			var nDiv = 1;
			for (i = 0; i < nDecimalesManquantes; i++) {
				nDiv *= 10;
			}
			_sDecimales = Math.round(Number(sDecimalesTmp) / nDiv);
		}
		_sRetour = separeMilliers(_sNombre.substr(0, _sNombre.indexOf('.')))+String(signe)+_sDecimales; 
	}
	return _sRetour;
}



 Sources de la même categorie

COLONNES ADAPTABLES EN HAUTEUR par dronoide
Source avec Zip VECTEURS ET MATRICES: OUTILS GRAPHIQUES UTILES par william voirol
Source avec Zip Source avec une capture HTML5 PLAYER par kazma
Source avec Zip Source avec une capture SCROLLBAR PERSONNALISABLE par kazma
Source avec Zip INFO BULLE par RudiRatlos

 Sources en rapport avec celle ci

ÉCRIRE UN MONTANT MONÉTAIRE SOUS FORME LITTÉRALE par 007Julien
OBTENIR LE NOMBRE DE JOURS D'UN MOIS SUIVANT SON ANNÉE par hugolegrand
TROUVER LES FACTEURS D'UN NOMBRE par jdmcreator
NOMBRE ALÉATOIRE par gt_371
Source avec Zip REMPLACER PLUSIEURS MOTS ET CARACTÈRES DANS UN CHAMP par abdelaziz_info

Commentaires et avis

Commentaire de rothenboy le 23/05/2007 11:02:26

Merci beaucoup.
Ce code me fut très bénéfique. En effet, je m'en suis servi en actionscript afin d'avoir une plus belle visualisation de mes chiffres.
Encore merci

Commentaire de jijedslenoir le 01/10/2007 03:06:17

Il manque un traitement lorsqu'il y a une partie décimale d'une taille inférieure au nombre de décimale à retourner.
J'ajouterai, par exemple, le else suivant pour le 'if (sDecimalesTmp.length > decimales)':
} else {
    _sDecimales = sDecimalesTmp;
    for (i = sDecimalesTmp.length; i < decimales; i++) {
    _sDecimales += "0";
    }     
}

Commentaire de Chrigou le 15/11/2007 09:31:03

Il y a encore un bug... mais je ne sais pas comment le corriger !
Exemple:
  var a=0.07001;
  document.write(a.nombreFormate(2, ':', ''));
n'affcihe pas 0.07 mais .7   pourquoi ?

Commentaire de soyd6391 le 26/05/2009 14:53:15

Pour le commentaire ci dessus j'ai ajouté ce bout de code:

if(_sRetour.length == decimales + 1){
    _sRetour ='0'+_sRetour;
}

Cet ajout est juste avant return _sRetour;

Ce script est top

Commentaire de guitronic le 14/10/2009 15:19:50 9/10

jijedslenoir a raison il faut aussi rajouter son bout de code sinon il y a beug avec les décimals trop courts.

Sinon rien a dire, script au top je confirme ;)

www.guitronic.fr

Commentaire de destiny le 12/01/2010 16:36:39

Merci pour ce script qui fonctionne parfaitement !

J'essayais de le faire avec un regExp mais j'ai abandonné pour le tiens ;)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

formater un nombre [ par fredchan ] bonjour, je cherche une fonction ou un script me permettant de formater un nombre decimal toujours sous la forme MCDU.XX, c'est a dire toujours avec 2 léger problème avec un nombre [ par nougitch ] Bonjour,Quand je mets ceci : Number (document.form_update.bl1.value),&nbsp;cela marche.Quand je mets cela : Number (document.form_update.1-1-0-0-0-0-j Augmenter ou diminuer le chiffre d'un champ texte [ par Tilix ] Salut, J'ai un code javascript, avec une boucle qui repete plusieurs fois les champs form : <font color=" Chiffre en Indice ou exposant [ par Fab117 ] Salut,Est-il possible avec un code de mettre un chiffre en exposant ou en indice.Merci d'avance et bonne fin de journ&#233;e.Fab textarea avec nombre de ligne limité [ par aimie ] Bonjour !!j'ai un problème, je voudrais développer un textarea avec un nombre de ligne non vide limité et je n'y arrive pas. J'ai besoin d'aide , est compter le nombre de mot d'une ligne [ par aimie ] Bonjour !!je voudrais savoir comment accéder à une ligne d'un textarea afin de compter le nombre de mot.En effet, je parviens à compter le nombre de m compter le nombre de formulaire [ par lolorenzeb ] Bonjour à tous,Voila mon problème est que je n'arrive pas a compter un nombre de formulaire contenu dans ma page. Je m'explique. J'ai une page php qui Nombre d'actualisations limité [ par lordkriss ] Je souhaite effectuer un rafraichissement de page automatique (jusque là : rien de bien compliqué). Là où je me casse les dents c'est que je voudrais le nombre de trafic [ par adamess ] Bonjour Je ai comme information que 1G passante permet de délivrer 10.000 pages de 100 Ko chacune par mois. Est-ce que cette information est just "Montée/descente" [ par Sniperman113 ] Bonjour,Alors je vais vous expliquer ma situation très clairement afin d'obtenir une aide la plus efficace possible.Enfaite, je vais prendre un exempl


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales