38 lines
1.4 KiB
C#
38 lines
1.4 KiB
C#
using System.Globalization;
|
|
|
|
namespace EDPlayerJournal;
|
|
|
|
public class Credits {
|
|
public static string FormatCredits(uint amount) {
|
|
return FormatCredits((long)amount);
|
|
}
|
|
|
|
public static string FormatCredits(ulong amount) {
|
|
return FormatCredits((long)amount);
|
|
}
|
|
|
|
public static string FormatCredits(long amount) {
|
|
var format = new CultureInfo(CultureInfo.CurrentCulture.Name, true).NumberFormat;
|
|
format.NumberGroupSeparator = ",";
|
|
format.NumberDecimalSeparator = ".";
|
|
format.NumberGroupSizes = new int[1] { 3 };
|
|
format.NumberDecimalDigits = 0;
|
|
if (amount > 0 && (amount % 1000000000) == 0) {
|
|
amount /= 1000000000;
|
|
return string.Format("{0}M CR", amount.ToString("N", format));
|
|
} else if (amount > 0 && (amount % 1000000) == 0) {
|
|
amount /= 1000000;
|
|
return string.Format("{0}M CR", amount.ToString("N", format));
|
|
} else if (amount > 0 && (amount % 100000) == 0) {
|
|
double am = ((double)amount) / 1000000;
|
|
format.NumberDecimalDigits = 1;
|
|
return string.Format("{0}M CR", am.ToString("N", format));
|
|
} else if (amount > 0 && (amount % 1000) == 0) {
|
|
amount /= 1000;
|
|
return string.Format("{0}K CR", amount.ToString("N", format));
|
|
}
|
|
|
|
return string.Format("{0} CR", amount.ToString("N", format));
|
|
}
|
|
}
|