como redondeo numeros en c #
Publicado por gaston barahona (40 intervenciones) el 21/05/2004 04:18:49
hola alguien me podria ayudar o indicar como se redondean numeros en c#
por ejemplo valor1= 9.222211144545
lo quiero redondear a solo 2 decimales
es algo asi
Math.Round(valor1,2).ToString();
hay alguna otra forma de ha cerlo o mejor dicho es lo mismo lo de arriba a esta funcion que encontra en internet
Private Function Redondear(ByVal Numero As String) As String
Dim ParteEntera As String = Int(Numero)
Dim ParteDecimal As String
If Not (Len(Numero) - Len(ParteEntera)) = 0 Then
ParteDecimal = Right(Numero, Len(Numero) - Len(ParteEntera) - 1)
Else
ParteDecimal = "00"
End If
Dim Num As Double
If Len(ParteDecimal) >= 3 Then
ParteDecimal= Left(ParteDecimal, 3)
If Mid(ParteDecimal, 3, 1) >= "5" Then
ParteDecimal = Left(ParteDecimal, 2)
Num = Convert.ToDouble(ParteDecimal)
Num = Num + 1
If Len(CStr(Num)) = 3 Then ParteEntera = ParteEntera + 1
ParteDecimal = Right(CStr(Num), 2)
End If
Else
ParteDecimal = Left(ParteDecimal, 2) '<-- El problema estaba aquí. Si el tercer decimal no
' empezaba por un numero mayor de 5, saltaba y retornaba
' el mismo valor de entrada.
End If
Redondear = ParteEntera & "," & ParteDecimal
End Function
claro que esta funcion ezta en vb.net y yo lo quiero hacer en c#
por ejemplo valor1= 9.222211144545
lo quiero redondear a solo 2 decimales
es algo asi
Math.Round(valor1,2).ToString();
hay alguna otra forma de ha cerlo o mejor dicho es lo mismo lo de arriba a esta funcion que encontra en internet
Private Function Redondear(ByVal Numero As String) As String
Dim ParteEntera As String = Int(Numero)
Dim ParteDecimal As String
If Not (Len(Numero) - Len(ParteEntera)) = 0 Then
ParteDecimal = Right(Numero, Len(Numero) - Len(ParteEntera) - 1)
Else
ParteDecimal = "00"
End If
Dim Num As Double
If Len(ParteDecimal) >= 3 Then
ParteDecimal= Left(ParteDecimal, 3)
If Mid(ParteDecimal, 3, 1) >= "5" Then
ParteDecimal = Left(ParteDecimal, 2)
Num = Convert.ToDouble(ParteDecimal)
Num = Num + 1
If Len(CStr(Num)) = 3 Then ParteEntera = ParteEntera + 1
ParteDecimal = Right(CStr(Num), 2)
End If
Else
ParteDecimal = Left(ParteDecimal, 2) '<-- El problema estaba aquí. Si el tercer decimal no
' empezaba por un numero mayor de 5, saltaba y retornaba
' el mismo valor de entrada.
End If
Redondear = ParteEntera & "," & ParteDecimal
End Function
claro que esta funcion ezta en vb.net y yo lo quiero hacer en c#
Valora esta pregunta


0