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

Microsoft-dotnet

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 *