Hola, tengo un pequeño problema. En varias partes de mi aplicación debeo de
trabajar con datos que representan de tipo decimal, para mostar valores
economicos (guardados en SQL Server como money); para que me muestre siempre
solo 2 decimanles cree la siguiente función:
Function NumeroFormato(ByVal MiCifra As Decimal) As Decimal
'Esta función corta el número, dejandolo en 2 decimales, pero sin
redondeo alguno
Dim MiCultura As System.Globalization.CultureInfo
Dim MiFormato As System.Globalization.NumberFormatInfo = New
System.Globalization.CultureInfo(MiCultura.CurrentCulture.ToString(),
False).NumberFormat
MiFormato.NumberDecimalSeparator = ","
MiFormato.NumberDecimalDigits = 2
Dim Posicion As Integer
Posicion = InStr(MiCifra.ToString("N", MiFormato),
MiFormato.NumberDecimalSeparator)
NumeroFormato = Mid(MiCifra.ToString, 1, Posicion +
MiFormato.NumberDecimalDigits)
End Function
Pero el caso es que una veces me devuelve la cifrá con 2, 3 o hasta 4
decimales.
¿Por qué?, y más importante aún, ¿Cómo soluciono este problema?.
Ya puestos a tratar el asunto; ¿cómo aplico el formato a los formulario en
los que vez de poner los datos yo por programación, son carga
automaticamente (al tener vinculado cierto control, con su campo
correspondiente del DateSet)?
Muchas gracias
XTV
Leer las respuestas