2009-04-17 7 views
5

J'utilise le code ci-dessous pour convertir la taille du fichier en octets (le fichier de test est 31718 octets) en KB (30.974609375 KB) mais je veux afficher ceci à une décimale (c'est-à-dire 30.9 KB). Comment ferais-je cela dans VB.NET?VB.NET Comment réduire int à 1 décimale?

New FileInfo(FileName).Length/1024 

Merci

+1

Votre numéro de 30.974609375 vous avez indiqué que vous aimeriez que ce soit 30.9. Est-ce correct? Etes-vous sûr que vous ne faites pas cela à 31.0? 30,9123456 arrondirait à 30,9 –

Répondre

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

Comment cela peut-il être? Dans votre exemple, vous avez donné ces faits, taille = 31718, divisé par 1024 = 30,974609375, sortie souhaitée = 30,9. La réponse que vous avez dite était parfaite donne 31,0. – dbasnett

+0

Il avait tort à propos de la 30.9. L'arrondi 30.97 sera toujours arrondi, s'il était de 30.94 ou moins, il arrondirait à 30.9. –

+0

Mais je suis sûr qu'il l'utilisait comme exemple ... –

6

Si elle est simplement afficher la sortie que vous avez besoin arrondi pour ensuite utiliser un format dans le ToString

Double.ToString("0.0") 
0

Si vous en avez besoin tronqué, mais pas arrondi (comme votre exemple l'indique), utilisez Math.FLoor()

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