[.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

Leave a Reply

Your email address will not be published. Required fields are marked *