nro de decimales

07/08/2007 - 21:34 por Ivan | Informe spam
hola a todos,

¿sabeis si existe una forma de obtener el (posible) nº de decimales de
un numero?

de momento uso esto, que parece funcionar, pero me da la impresion de
que debe de haber alguna forma mas directa (¿matematica?), sin tener
que recurrir a las funciones de texto. Aunque no he logrado
encontrarla.

Public Function Nro_Decimales(ByVal nro As Double) As Integer
On Error Resume Next
If InStr(nro, Application.DecimalSeparator) > 0 Then _
Nro_Decimales = Len(CStr(nro)) - _
InStr(nro, Application.DecimalSeparator)
End Function

sobre todo es curiosidad, pero gracias por anticipado

un saludo
Ivan
 

Leer las respuestas

#1 Héctor Miguel
08/08/2007 - 03:12 | Informe spam
hola, Ivan !

sabeis si existe una forma de obtener el (posible) nº de decimales de un numero?
de momento uso esto, que parece funcionar, pero me da la impresion de que debe de haber alguna forma mas directa
(matematica?), sin tener que recurrir a las funciones de texto. Aunque no he logrado encontrarla.



[p.e.]

Function Nro_decimales(Numero As Double) As Byte
Dim Decimales As Double: Decimales = Numero - Int(Numero)
Nro_decimales = IIf(Decimales, Evaluate("len(" & Decimales & ")") - 2, 0)
End Function

saludos,
hector.

__ el codigo expuesto __
Public Function Nro_Decimales(ByVal nro As Double) As Integer
On Error Resume Next
If InStr(nro, Application.DecimalSeparator) > 0 Then _
Nro_Decimales = Len(CStr(nro)) - _
InStr(nro, Application.DecimalSeparator)
End Function

sobre todo es curiosidad, pero gracias por anticipado

Preguntas similares