Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/04/2014, 08:36
Avatar de haggenx
haggenx
 
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 823
Antigüedad: 17 años, 3 meses
Puntos: 24
De acuerdo Aporte: funciones roundtoup/roundtodown

Que tal:

Comparto estas dos funciones que forman parte de un proyecto en el que estoy trabajando, tengo pensado liberar más adelante todas las clases que lo forman bajo licencia GPL/BSD de manera que se puedan usar estas sin problemas en proyectos comerciales (abiertos o cerrados) o no (respetando las licencias por supuesto). Se trata entonces de un par de funciones para redondear un número hacia arriba o hacia abajo, por ejemplo si tenemos el número 2.05 la función roundtoup regresa 3, si usamos la funcion roundtodown retorna 2.
Espero les sea de utilidad

'#### Purpose: Return round to up number
'#### Created date: 28/01/2014
'#### Created by username: Juan Manuel Mar Hdz.
'#### Last modified date: 28/01/2014
'#### Last modified username: Juan Manuel Mar Hdz.
Public Function roundtoUp(number As Double)

Dim mystr As String, res As String = (number / 2).ToString().Trim

If res.IndexOf(".") >= 0 Then

Try
mystr = number.ToString().Trim().Substring(0, number.ToString().Trim().IndexOf(".")).Trim
Catch exp As Exception
mystr = number.ToString().Trim
End Try

Return (Double.Parse(mystr.Trim)) + 1

Else
Return number
End If

End Function

'#### Purpose: Return round to down number
'#### Created date: 28/01/2014
'#### Created by username: Juan Manuel Mar Hdz.
'#### Last modified date: 28/01/2014
'#### Last modified username: Juan Manuel Mar Hdz.
Public Function roundtoDown(number As Double)

Dim mystr As String, res As String = (number / 2).ToString().Trim

If res.IndexOf(".") >= 0 Then

Try
mystr = number.ToString().Trim().Substring(0, number.ToString().Trim().IndexOf(".")).Trim
Catch exp As Exception
mystr = number.ToString().Trim
End Try

Return Double.Parse(mystr.Trim)

Else
Return number
End If

End Function