2009-04-17 11 views
5

Korzystam z poniższego kodu, aby przekonwertować rozmiar pliku w bajtach (plik testowy to 31718 bajtów) na KB (30.974609375 KB), ale chcę wyświetlić to z dokładnością do jednego miejsca dziesiętnego (czyli 30,9 KB). Jak to zrobić w VB.NET?VB.NET Jak zmniejszyć int do 1 miejsca po przecinku?

New FileInfo(FileName).Length/1024 

Dzięki

+1

Twój numer 30.974609375 podałeś, że chciałbyś mieć 30,9. Czy to jest poprawne? Czy na pewno nie chcesz tego zaokrąglić do 31,0? 30,9123456 zaokrągli do 30,9 –

Odpowiedz

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

Jak to możliwe? W twoim przykładzie podałeś te fakty, rozmiar = 31718, podzielony przez 1024 = 30.974609375, pożądany wynik = 30,9. Odpowiedź, którą powiedziałeś była doskonała, daje 31,0. – dbasnett

+0

Mylił się co do 30,9. Zaokrąglanie 30.97 zawsze zaokrągli w górę, gdyby było 30,94 lub mniej, zaokrągliłoby się do 30,9. –

+0

Ale jestem pewien, że używał go jako przykładu ... –

6

jeśli to tylko wyświetlanie wyjścia, że ​​trzeba to zaokrąglone bo wtedy użyć formatu w toString

Double.ToString("0.0") 
0

Jeśli trzeba to obcięty, ale nie zaokrąglona (jak sugeruje twój przykład), Następnie użyj Math.FLoor()

Decimal val = Math.Floor(New FileInfo(FileName).Length/102.4)/10; 
Powiązane problemy