Исходя из вашего предыдущего вопроса ...
Чтобы использовать значащие цифры вместо десятичных знаков:
Public Function BytesToMegabytes(bytes As Long) As String
Dim dblAns As Double = (bytes / 1024) / 1024
If dblAns = 0 Then
Return "0"
End If
Dim significantFigures = 3
Dim magnitude = Math.Floor(Math.Log10(dblAns))
Dim v As Double = 10 ^ (magnitude - significantFigures + 1)
dblAns = Math.Floor(dblAns / v) * v
Dim ci = New CultureInfo("")
ci.NumberFormat.NumberDecimalSeparator = ","
ci.NumberFormat.NumberGroupSeparator = "'"
Return dblAns.ToString("#,##0.###", ci)
End Function
Например , Console.WriteLine(BytesToMegabytes(9225936896))
вывод
8'790
Если вы измените строку Dim significantFigures = 3
на Dim significantFigures = 4
, она выдаст
8'798
В зависимости от желаемого округления, вы можете использовать dblAns = Math.Round(dblAns / v, MidpointRounding.AwayFromZero) * v
вместо или, возможно, Math.Ceiling
вместо Math.Floor
.