2009-04-17 13 views
5

Estoy usando el siguiente código para convertir el tamaño del archivo en bytes (archivo de prueba es 31718 bytes) a KB (30.974609375 KB) pero quiero mostrar esto en un decimal (es decir, 30.9 KB). ¿Cómo haría esto en VB.NET?VB.NET ¿Cómo puedo reducir int a 1 lugar decimal?

New FileInfo(FileName).Length/1024 

Gracias

+1

Su número de 30.974609375 ha indicado que le gustaría que fuera 30.9. ¿Es esto correcto? ¿Estás seguro de que no tienes qué redondear a 31.0? 30.9123456 redondearía a 30.9 –

Respuesta

10
Math.Round(New FileInfo(FileName).Length/1024,1) 
+0

¿Cómo puede ser eso? En su ejemplo usted dio estos hechos, tamaño = 31718, dividido por 1024 = 30.974609375, resultado deseado = 30.9. La respuesta que dijiste era perfecta da 31.0. – dbasnett

+0

Estaba equivocado sobre el 30.9. Redondear 30.97 siempre se redondeará, si fuera 30.94 o menos redondearía a 30.9. –

+0

Pero estoy seguro de que solo lo estaba usando como ejemplo ... –

6

si es sólo mostrar la salida que necesita es redondeado para luego utilizar un formato en el ToString

Double.ToString("0.0") 
0

Si necesita que trunca, pero no redondeada (como su ejemplo lo indica), luego use Math.FLoor()

Decimal val = Math.Floor(New FileInfo(FileName).Length/102.4)/10; 
Cuestiones relacionadas