Ver Mensaje Individual
  #6  
Antiguo 11-08-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Veo que estás programando en C. No se dónde estará esta función en C.

De todos modos, si quieres programarla tu, la cosa va más o menos así:
Código Delphi [-]
function RedondearDecimales(Valor : Double; Decimales: integer): Double;
begin
   // Primero multiplico el valor por 10 tantas veces como decimales quiera
   // Valor=1.12345, Decimales=2 --> Valor=112.345
   for i := 0 to Decimales do
      Valor := Valor * 10;

   // Ahora tomo la parte entera de Valor
   // 112.345 --> 112
   Valor := Trunc(Valor);

   // Ahora lo divido por 10 tantas veces como decimales tenga
   // Valor=1123, Decimales=2 --> Valor=1.12
   for i := 0 to Decimales do
      Valor := Valor * 10;
end

Nota: Esta función no tiene en cuenta el último decimal:
1.239 = 1.23
La función perfeccionada debería tenerlo en cuenta y devolver
1.239 = 1.24
Responder Con Cita