¿Cómo redondear decimales en Visual Basic?

Respuesta de
a
Usuario
Soy novato. Mis aplicaciones en Visual Basic sólo utilizo el calculo de valores, pero ¿qué código necesito para redondear a tres decimales una variable? Por ejemplo, un seguido de operaciones dan como resultado=... yo quiero que solamente me lea hasta el cuarto decimal, y si este es mayor de 4, el tercer decimal salte al siguiente numero, i si el cuarto decimal esta entre 0 y 4 lo deje tal y como esta)
Ej: 10,5678125 --> 10,568
2,56910285 --> 2,569
Supongo que debe haber alguna instrucción que recorta los decimales a un numero que le asignemos, pero yo no la conozco.
Tengo otro problemilla, si el resultado de las operaciones contiene un 0,...(zero "coma" algo)y quiero agregar el resultado a un Listbox, me sale .231546(no sale el zero, sale "la coma" y el nuero que sea
¿Qué debo hacer para que también me salga el zero del comienzo?

Muchas gracias por adelantado.
Experto
Mira para redondear decimales y que te apaecan números con formato usas:

Format(Variable, "#,##0.00")


Digamos que esto en un numero como

12345678.987654

te hara aprecer

12,345,678.99

si a la cadena "#,##0.00", le quitas los simbolos # el resultado te apareeceria

12345678.99

Si le agregas un cero más obviamente te muestra un decimal más

Y obviamente si tienes un numero como

. 1234

Te mostrara 0.123

y si a "#,##0.00" le agregas un simbolo de $ al principio: "$#,##0.00"

Te aparecerá en formato moneda

Espero esto te sea de utilidad y para culakier duda, comentaario o reclamación, no dudes en decirme
Usuario
Si tienes una calculadora delante, quizás me entiendas mejor: Teclea:
8/860=0.009302325581(hasta infinitos decimales). A mi solo me interesa el resultado hasta el tercer decimal o sea, 0.009 ; he probado tu código y no me funciona. Espero que puedas ayudarme. Muchas gracias por adelantado. Un saludo.Mark
Experto
Mira el código que te mande es para eso

Si tu operación es

8/860

El resultado sera

0.009302325581

Ahora al que yo te entiendo es que te interesa que te aparezca hasta el 3er decimal

Osease 0.009

Espero sea así

Si es así debes de poner la operación en un variable

dim divicion as single
divi = (8/860)

Ahora pongamos que esto lo vas a mistrar en el label1

Entonces hacemos lo sig

label1=Format(Divi, "0.000")

Y el label te mostrara solo

0.009

Obviamente esta instrucción solo funciona a la hora de mostrar los datos al mundo, y redondea hasta el decimal que tu quieras, pero recuerda que esta variable funciona asinandola a una variable string

Espero si haya entendido y haberme dado a explicar ahora si, de todos modos si no te funciona y es otro tipo de condigo dime, ya que este te lo mando ya que es el más probable a lo que yo te entiendo
Usuario
Es lo que buscaba. Me ha solucionado el problema y ha sido muy atento. Muchísimas gracias!