Tag Archives: human readable

[.Net] Convertir un nombre dans un format lisible

Pour mon projet EasyLight, j’ai dû faire une fonction qui convertit un nombre dans un format lisible et compréhensible pour le commun des mortels.

L’exemple classique est de convertir un nombre de bytes en GigaBytes, MégaBytes, etc…

Pour faire cette conversion de nombre, je vous propose la fonction suivante:

'Fonction qui convertit un nombre en format Human Readable
Private Shared Function ConvertToHumanReadable(ByVal value As Double, Optional ByVal diviser As Integer = 1024, Optional ByVal nbDecimal As Integer = 0) As String
	Dim _units() As String = {"", "K", "M", "G", "T", "P", "E", "Z", "Y"}
	Dim size As Double = value
	Dim i As Integer = 0
	While size >= diviser
		size /= diviser
		i += 1
	End While
	Return Math.Round(size, nbDecimal) & _units(i)
End Function

Cette fonction vous permettra de convertir un nombre dans ses différents multiple rapidement et facilement.

[.Net] Fonction de convertion d’un double dans le format Human Readable

Aujourd'hui j'ai fait une petite fonction qui convertit un double en format Human Readable. C'est tout simple et je me suis inspiré d'une fonction JavaScript:

'Fonction de convertion d'un double dans le format Human Readable
Public Function ConvertToHumanReadable(ByVal value As Double, Optional ByVal NbDecimal As Integer = 2) As String
	If Double.IsNaN(value) Then Return String.Empty
	Dim units As String() = {"", "K", "M", "G", "T", "P", "E", "Z", "Y"}
	Dim amountOf2s As Double = Math.Floor(Math.Log(Math.Abs(value)) / Math.Log(2))
	If amountOf2s < 1 Then amountOf2s = 0
	Dim i As Integer = CInt(Math.Floor(amountOf2s / 10))
	value = value / Math.Pow(2, 10 * i)
	If (value.ToString().Length > Math.Round(value, NbDecimal).ToString().Length) Then
		value = Math.Round(value, NbDecimal)
	End If
	Return value & units(i)
End Function

Connaitre l’espace disque utilisé par des fichiers

Il est souvent nécessaire de connaitre la taille utilisée par certains fichiers afin de pouvoir faire du ménage par exemple.

Il est d'autant plus intéressant de pouvoir récupérer ces informations dans un format lisible et compréhensible (Human Readable).

Par chance, Linux propose la commande "du" qui permet de savoir l'espace disque utilisé par des fichiers.

Voici comment elle s'utilise:

du -h
du -h /tmp
du -h /home/jhd
du -h /dataz

Ce qui retournera un résultat de ce genre:

$ du -h /tmp/
4.0K    /tmp/ssh-EUpKyOpk2027
4.0K    /tmp/pulse-PKdhtXMmr18n
4.0K    /tmp/keyring-1cbSRP
36K     /tmp/hsperfdata_jhd
4.0K    /tmp/.X11-unix
4.0K    /tmp/.esd-1000
4.0K    /tmp/.webmin
4.0K    /tmp/.ICE-unix
4.0K    /tmp/virtual-jhd.ADDPGK
4.0K    /tmp/aptdaemon-QlljTo
8.0K    /tmp/pulse-EBSG9ADY9z0G
92K     /tmp/

Petite astuce: il est également possible de trier le résultat via la commande suivante:

du -hs /tmp | sort -h