Foros del Web » Programación para mayores de 30 ;) » Programación General »

Conversión de string a número con 2 decimales

Estas en el tema de Conversión de string a número con 2 decimales en el foro de Programación General en Foros del Web. Buenas a tod@s otra vez. Tengo un problemilla: Tengo en un string una cantidad de € (nuestro adorado Euro ) que puede o no tener ...
  #1 (permalink)  
Antiguo 18/03/2002, 03:21
Avatar de peaso  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 147
Antigüedad: 22 años, 3 meses
Puntos: 0
Conversión de string a número con 2 decimales

Buenas a tod@s otra vez.

Tengo un problemilla: Tengo en un string una cantidad de € (nuestro adorado Euro ) que puede o no tener decimales (está calculado de unos campos de una BD que también pueden o no ser enteros). Pues bien, como todos bien sabeis :Phay céntimos de €, por lo que querría que esa convertir esa cantidad a otro string (o lo que sea) con exactamente 2 decimales.

Sé que podría hacer un búsqueda del separador de decimales, y truncar o algo así, pero no sé como empezar. ¿Alguna idea?

Muchas gracias! ;)

PEASO <a href="http://peaso.cjb.net" TARGET=_blank> (La Peich del Peaso)</a>
  #2 (permalink)  
Antiguo 18/03/2002, 04:14
Avatar de peaso  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 147
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Conversión de string a número con 2 decimales

Para empezar:

¿Cómo se hace una busqueda de un cierto carácter en un string? Más que nada, para buscar una coma &quot;,&quot; en la variable, y según en qué posición esté le añado &quot;0&quot;, &quot;,00&quot; o nada.

Decidme algooooooo!!!

PEASO <a href="http://peaso.cjb.net" TARGET=_blank> (La Peich del Peaso)</a>
  #3 (permalink)  
Antiguo 18/03/2002, 04:45
Avatar de peaso  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 147
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Conversión de string a número con 2 decimales

No os preocupeis. Ya está solucionado. Pongo la rutina por si a alguien el interesa:
Código:
' Deja el número con exactamente dos decimales
Private Function redondear(num As Double) As String
    Dim num2 As Double
    Dim strNum As String
    Dim pos As Integer
    Dim ln As Integer
    
    num2 = Round(num, 2)
    strNum = CStr(num2)
    pos = InStr(strNum, &quot;,&quot;)
    ln = Len(strNum)
    If pos = 0 Then
        ' No tiene coma --&gt; 650 --&gt; 650,00
        redondear = strNum &amp; &quot;,00&quot;
    Else
        ' Tiene coma, miramos posición
        If (ln - pos) = 1 Then
            'estilo 650,2 --&gt; 650,20
            redondear = strNum &amp; &quot;0&quot;
        Else
            ' como está redondeado, tendrá dos decimales
            ' 650,23 --&gt; OK
            redondear = strNum
        End If
    End If
    
End Function
PEASO <a href="http://peaso.cjb.net" TARGET=_blank> (La Peich del Peaso)</a>
  #4 (permalink)  
Antiguo 23/03/2002, 00:13
 
Fecha de Ingreso: marzo-2002
Mensajes: 18
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Conversión de string a número con 2 decimales

Hey.. es mas facil me parece...

solo usa FormatNumber

aca te doy un ejemplo de dos

Euro= FormatNumber(Val(Text1.Text), 2)

Te dara dos decimales asi no coloques ninguno en el text1.
si cargas 10 te dara 10.00
si cargas 10.258 te dara 10.26

saludos
de Argentina

Daniel


  #5 (permalink)  
Antiguo 17/04/2002, 10:39
Avatar de peaso  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 147
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Conversión de string a número con 2 decimales

Un pelín tarde!! Despues de la matada de hacer la función!!

Pero bueno, muchísimas gracias de todas maneras. Lo tendré presente para otra ocasión.

PEASO <a href="http://peaso.cjb.net" TARGET=_blank> (La Peich del Peaso)</a>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:24.