none
Solo numerico para poder multiplicar RRS feed

  • Pregunta

  • Tengo un DataGridView donde me tira unas medidas de materiales tanto en Kg como en Mt3, el tema es que en una columna(A) el usuario puede ingresar una cantidad en mt3,mt2 o solo mt lineal, pero en estas celdas las tengo cargadas con mt3,mt2 o m y luego en otra columna(B) poseo el material que me lleva esto es fijo y estas celdas son por ejemplo:
    67,50Kg
    0,425m3
    El usuario va a ingresar una cantidad en la columna(A) para luego multiplicarla por la B, quedando el resultado en una C, lo que quiero saber como hago para sacar lo que viene despues de las medidas ya sea Kg,m3,etc. Hay alguna funcion donde me quede solo el numero o sea 67,50 o 0,425. Gracias

     

    lunes, 15 de diciembre de 2008 21:23

Respuestas

  • Hola

     

    Si no es muy necesario que el usuario introdusca las unidades es PREFERIBLE que solo introdusca los valores numericos sin unidades.

     

    Hasta donde se no hay función para extraer un valor numerico de un texto, a menos que tu crees la función, como la siguiente:

     

    Function BuscarValor(ByVal Texto As String) As Decimal

    Dim k As String = "k"

    Dim m As String = "m"

    Dim Pos1 As Integer = InStr(LCase(Texto), k, CompareMethod.Text)

    Dim Pos2 As Integer = InStr(LCase(Texto), m, CompareMethod.Text)

     

    If Pos1 <> 0 Then

    Dim TextoNuevo As String = RSet(Texto, Pos1 - 1)

    TextoNuevo = LTrim(TextoNuevo)

    TextoNuevo = RTrim(TextoNuevo)

    Return TextoNuevo

     

    ElseIf Pos2 <> 0 Then

    Dim TextoNuevo As String = RSet(Texto, Pos2 - 1)

    TextoNuevo = LTrim(TextoNuevo)

    TextoNuevo = RTrim(TextoNuevo)

    Return TextoNuevo

     

    Else

    MsgBox("No hay unidades de Kg o mts")

    Return 0.0

    End If

     

    End Function

     

    Lo que la función hace es encontrar la primera letra de las unidades Kgs o Mts ("k" o "m"), y extraer el valor numerico. Hay algunos incovenientes:

     

    El valor debe que introdusca debe comenzar con un numero (SIEMPRE)

    Las unidades que borra deben empezar con la letra K o M, (mayuscula o minuscula), cualquier otra unidad no será detectada

     

     

     

     

    sábado, 20 de diciembre de 2008 2:30