Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
DataSizeFormatter.cs
浏览该文件的文档.
1using Engine;
2
3namespace Game {
4 public static class DataSizeFormatter {
5 public static string Format(long bytes, int significantDigits = 3) {
6 if (bytes < 1024) {
7 return "1KB";
8 }
9 if (bytes < 1048576) {
10 float num = bytes / 1024f;
11 return string.Format(PrepareFormatString(num, "KB", 0), num);
12 }
13 if (bytes < 1073741824) {
14 float num2 = bytes / 1024f / 1024f;
15 return string.Format(PrepareFormatString(num2, "MB", significantDigits), num2);
16 }
17 float num3 = bytes / 1024f / 1024f / 1024f;
18 return string.Format(PrepareFormatString(num3, "GB", significantDigits), num3);
19 }
20
21 public static string PrepareFormatString(float value, string unit, int significantDigits) {
22 int num = (int)(MathF.Log10(value) + 1f);
23 int num2 = MathUtils.Max(significantDigits - num, 0);
24 if (num2 > 0) {
25 return $"{{0:0.{new string('#', num2)}}}{unit}";
26 }
27 return $"{{0:0}}{unit}";
28 }
29 }
30}
static int Max(int x1, int x2)
static string PrepareFormatString(float value, string unit, int significantDigits)
static string Format(long bytes, int significantDigits=3)