[asp] arrondir nombre à x decimales sup/inf/auto

arrondir nombre à x decimales sup/inf/auto [asp] - ASP - Programmation

Marsh Posté le 14-06-2007 à 15:37:18    

Bonjour,
 
Je suis actuellement en pleine recherche d'une fonction permettant d'arrondir un nombre à x décimales soit par l'inférieur, soit supérieur soit automatiquement.
Le problème est que avec formatnumber(), il arrondi au supérieur et sans décimales (39.56 -> 40)
 
Quelqu'un aurait une idée ?
 
Merci d'avance
 
Louis

Reply

Marsh Posté le 14-06-2007 à 15:37:18   

Reply

Marsh Posté le 20-06-2007 à 09:54:39    

formatnumber((39.56),2)

Reply

Marsh Posté le 21-06-2007 à 17:33:12    

A la va-vite je dirais un truc du genre :
 

Code :
  1. const typearr_auto = 1
  2. const typearr_down = 2
  3. const typearr_up = 3
  4.  
  5. function pow(x, y)
  6.  dim i, val
  7.  val = x
  8.  for i = 1 to y
  9.    val = val * x
  10.  next
  11. end function
  12.  
  13. function ArrondiALaCon(nbr, decimals, typearr)
  14.  dim plop
  15.  plop = pow(10, decimals)
  16.  select case typearr
  17.  case typearr_auto :
  18.    ArrondiALaCon = CInt(nbr * plop) / plop
  19.  case typearr_down :
  20.    ArrondiALaCon = Int(nbr * plop) / plop
  21.  case typearr_up :
  22.    ArrondiALaCon = nbr * plop
  23.    If Int(ArrondiALaCon) > ArrondiALaCon Then
  24.        ArrondiALaCon = (ArrondiALaCon + 1) / plop
  25.    Else
  26.        ArrondiALaCon = ArrondiALaCon / plop
  27.    End If
  28.  case else :
  29.    Response.Write "1, 2, 3, soleil ! Où t'as vu que j'acceptais autrechose comme valeur pour le type d'arrondi ?"
  30.    Response.End
  31.  end select
  32. end function


Message édité par MagicBuzz le 21-06-2007 à 17:34:13
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed