using System; namespace NBF { public static class GameUtil { /// /// 格式化数字显示,大于等于10000显示N万,保留1位小数点,整数1万、2万不要小数点 /// /// 要格式化的数字 /// 格式化后的字符串 public static string FormatNumber(this int number) { if (number < 10000) { return number.ToString(); // 小于10000直接显示 } // 转换为万为单位 double valueInTenThousand = number / 10000.0; // 判断是否为整数万 if (Math.Abs(valueInTenThousand - Math.Floor(valueInTenThousand)) < 0.00001) // 处理浮点数精度 { // 整数万,不显示小数点 return $"{(int)valueInTenThousand}万"; } // 非整数万,向下取整并保留1位小数 double flooredValue = Math.Floor(valueInTenThousand * 10) / 10; // 处理浮点数精度,确保只显示1位小数 return $"{flooredValue:F1}万"; } } }