Calcular cifra significativa. Neckkito

Hola, Neckkito

He visto que contestaste una pregunta sobre el tema de conseguir una cifra significativa, y que proponías construir un código para hacerlo.

Estaría interesado en ver cómo es ese código.

Agradezco tu ayuda

1 Respuesta

Respuesta
1

Lo puedes hacer así, aunque aquí te dejo un BD de ejemplo por si tienes algún problema: http://www.filebig.net/files/kTS8sq7CKN

Para llamar al código que calcula la cifra, donde lo necesites, deberás escribir esta llamada a la función:

CifraSignificativa(cifra)

Donde la variable "cifra" será el número entero (ojo, sólo funciona con enteros) que sirve de punto de partida.

El código que realiza los cálculos, y que yo he situado en un módulo, es

...

Public Function cifraSignificativa(elNum As Long) As Long
'Declaramos las variables
Dim longNum As Long, nuevoNum As Long
Dim i As Long
Dim yaEs As Boolean
'Inicializamos yaEs
yaEs = True
'Cogemos la longitud del número
longNum = Len(CStr(elNum))
'Si la longitud es 1 la cifra significativa es 10
If longNum = 1 Then
cifraSignificativa = 10
Exit Function
End If
'Comprobamos que no sea directamente cifra significativa
For i = 1 To longNum - 1
If Mid(elNum, i + 1, 1) <> 0 Then
yaEs = False
Exit For
End If
Next i
If yaEs = True Then
cifraSignificativa = elNum
Exit Function
End If
'Construimos la cifra significativa
nuevoNum = Left(elNum, 1) + 1
For i = 1 To longNum - 1
nuevoNum = nuevoNum & "0"
Next i
cifraSignificativa = CLng(nuevoNum)
End Function

...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas