<?php

/**------------------------------------------------
*
* Rooty, 2018 <rooty@rooty.me>
*
*
* This software is protected by copyright, please
* read the file COPYRIGHT.
* This program is distributed in the hope that it
* will be useful, but without any warranty; without
* even the implied warranty of merchantability or
* fitness for a particular purpose. Please
* read the file LICENCE.
*
*Fichier Chiffre.php
*
*Ce fichier contient la classe chiffre
*
* @author Rooty <www.rooty.me|rooty@rooty.me>
* @link www.rooty.me
* @since 2004/04/09
* @version 0.3
* @copyright Copyright &copy; 2009-2018, Rooty
* @package system_utils
*/

/**
* Classe Chiffre
*
* classe permettant de Normaliser un chiffre
*
* @package system_utils
*/
class Chiffre
{
/**#@+
* @access public
*/

/**
* @var entier
* @desc Nombre entier 
*/
var $src  = null;

/**#@-*/

	//
	// Constructor
	//
/**
*Constructeur de la classe Chiffre
*
*<p>Initialise la donnée</p>
*
* @param entier nombre
*/
	function __construct($src)
	{
		if (Is_numeric($src))
			$this->src=$src;
		else
			$this->src=Null;
	}

/**
*Verification de la validité de l'obket chiffre.
*
* @return booléen Valide
*/
	function IsValid()
	{
		return ($this->src == Null) ? false : true;
	}

/**
*Isnumeric
*
*<p>Test si l'argument $src est numérique ou non</p>
*
* @return booléen Numerique
*/
	function Isnumeric()
	{
		return Is_numeric($this->src);
	}

/**
*Format
*
*<p>Permet d'afficher la valeur avec un nombre de 0 avant et après la virgule</p>
*
* @param entier nombre de 0 avant la virgule
* @param entier nombre de chiffres après la virgule .
* @return chaine chaine formatée
*/
	function Format($nbentier, $nbvirgule)
	{
		$value=round($this->src, $nbvirgule);
		$str=sprintf("%0".$nbentier.".".$nbvirgule."f", $value);
		return $str;
	}

/**
*Fref
*
*<p>permet de formater le nombre avec n entier chiffre avant la virgule</p>
*
* @param int nombre de caractères avant la virgule
* @return chaine chaine formatée
*/
	function Fref($nbentier)
	{
		$str=sprintf("%0".$nbentier.".0f", $this->src);
		return $str;
	}

/**
*arrondi de la source + nbvirgule "0"
*
*<p>permet de formater le nombre avec n entiers chiffre après la virgule</p>
*
* @param int nombre de caractères après la virgule
* @return chaine
*/

	function Fround($nbvirgule)
	{
		$value=round($this->src, $nbvirgule);
		$str=sprintf("%0.".$nbvirgule."f", $value);
		return $str;
	}
}
?>
