FloatExtensions
FloatExtensions 功能文档
Section titled “FloatExtensions 功能文档”FloatExtensions 是一个静态扩展类,为 float 类型提供了丰富的扩展方法,涵盖数值判断、转换、运算、格式化等功能,旨在简化 float 类型的数学运算和格式化处理,特别适用于需要进行数值计算和日常数据展示的场景。
主要功能模块
Section titled “主要功能模块”1. 基础判断
Section titled “1. 基础判断”IsZero
Section titled “IsZero”判断 float 是否为零。
public static bool IsZero(this float value)示例:
float value1 = 0f;float value2 = 123.45f;
bool result1 = value1.IsZero(); // truebool result2 = value2.IsZero(); // falseIsPositive
Section titled “IsPositive”判断 float 是否为正数。
public static bool IsPositive(this float value)示例:
float value1 = 123.45f;float value2 = -123.45f;
bool result1 = value1.IsPositive(); // truebool result2 = value2.IsPositive(); // falseIsNegative
Section titled “IsNegative”判断 float 是否为负数。
public static bool IsNegative(this float value)示例:
float value1 = -123.45f;float value2 = 123.45f;
bool result1 = value1.IsNegative(); // truebool result2 = value2.IsNegative(); // falseIsInteger
Section titled “IsInteger”判断 float 是否为整数(无小数部分)。
public static bool IsInteger(this float value)示例:
float value1 = 123f;float value2 = 123.45f;
bool result1 = value1.IsInteger(); // truebool result2 = value2.IsInteger(); // falseIsEven
Section titled “IsEven”判断 float 是否为偶数(仅整数时有效)。
public static bool IsEven(this float value)示例:
float value1 = 4f;float value2 = 5f;float value3 = 4.5f;
bool result1 = value1.IsEven(); // truebool result2 = value2.IsEven(); // falsebool result3 = value3.IsEven(); // false(非整数)判断 float 是否为奇数(仅整数时有效)。
public static bool IsOdd(this float value)示例:
float value1 = 5f;float value2 = 4f;float value3 = 5.5f;
bool result1 = value1.IsOdd(); // truebool result2 = value2.IsOdd(); // falsebool result3 = value3.IsOdd(); // false(非整数)2. 特殊值判断
Section titled “2. 特殊值判断”判断 float 是否为 NaN(非数字)。
public static bool IsNaN(this float value)示例:
float value1 = float.NaN;float value2 = 123.45f;
bool result1 = value1.IsNaN(); // truebool result2 = value2.IsNaN(); // falseIsInfinity
Section titled “IsInfinity”判断 float 是否为无穷大(正无穷或负无穷)。
public static bool IsInfinity(this float value)示例:
float value1 = float.PositiveInfinity;float value2 = 123.45f;
bool result1 = value1.IsInfinity(); // truebool result2 = value2.IsInfinity(); // falseIsPositiveInfinity
Section titled “IsPositiveInfinity”判断 float 是否为正无穷。
public static bool IsPositiveInfinity(this float value)示例:
float value1 = float.PositiveInfinity;float value2 = float.NegativeInfinity;
bool result1 = value1.IsPositiveInfinity(); // truebool result2 = value2.IsPositiveInfinity(); // falseIsNegativeInfinity
Section titled “IsNegativeInfinity”判断 float 是否为负无穷。
public static bool IsNegativeInfinity(this float value)示例:
float value1 = float.NegativeInfinity;float value2 = float.PositiveInfinity;
bool result1 = value1.IsNegativeInfinity(); // truebool result2 = value2.IsNegativeInfinity(); // falseIsValid
Section titled “IsValid”判断 float 是否为有效数值(非 NaN 且非无穷大)。
public static bool IsValid(this float value)示例:
float value1 = 123.45f;float value2 = float.NaN;float value3 = float.PositiveInfinity;
bool result1 = value1.IsValid(); // truebool result2 = value2.IsValid(); // falsebool result3 = value3.IsValid(); // false3. 范围判断
Section titled “3. 范围判断”IsBetween
Section titled “IsBetween”判断 float 是否在指定范围内(包含边界)。
public static bool IsBetween(this float value, float min, float max)示例:
float value = 50f;
bool result1 = value.IsBetween(0f, 100f); // truebool result2 = value.IsBetween(60f, 100f); // falseIsInRange
Section titled “IsInRange”判断 float 是否在指定范围内(包含边界)。
public static bool IsInRange(this float value, float min, float max)将 float 限制在指定范围内,超出则取边界值。
public static float Clamp(this float value, float min, float max)示例:
float value1 = 150f;float value2 = 50f;float value3 = -10f;
float result1 = value1.Clamp(0f, 100f); // 100float result2 = value2.Clamp(0f, 100f); // 50float result3 = value3.Clamp(0f, 100f); // 04. 类型转换
Section titled “4. 类型转换”将 float 转换为 int,四舍五入。
public static int ToInt(this float value)示例:
float value1 = 123.4f;float value2 = 123.5f;
int result1 = value1.ToInt(); // 123int result2 = value2.ToInt(); // 124ToLong
Section titled “ToLong”将 float 转换为 long,四舍五入。
public static long ToLong(this float value)示例:
float value = 123456789.5f;long result = value.ToLong(); // 123456790ToDecimal
Section titled “ToDecimal”将 float 转换为 decimal。
public static decimal ToDecimal(this float value)示例:
float value = 123.45f;decimal result = value.ToDecimal(); // 123.45mToDouble
Section titled “ToDouble”将 float 转换为 double。
public static double ToDouble(this float value)示例:
float value = 123.45f;double result = value.ToDouble(); // 123.45dToBool
Section titled “ToBool”将 float 转换为 bool(非零为 true)。
public static bool ToBool(this float value)示例:
float value1 = 0f;float value2 = 123.45f;
bool result1 = value1.ToBool(); // falsebool result2 = value2.ToBool(); // true5. 数学运算
Section titled “5. 数学运算”将 float 四舍五入到指定小数位。
public static float Round(this float value, int digits = 2)示例:
float value = 123.4567f;
float result1 = value.Round(); // 123.46float result2 = value.Round(3); // 123.457Truncate
Section titled “Truncate”将 float 截断到指定小数位(向零取整)。
public static float Truncate(this float value, int digits = 2)示例:
float value = 123.4567f;
float result1 = value.Truncate(); // 123.45float result2 = value.Truncate(3); // 123.456获取 float 的绝对值。
public static float Abs(this float value)示例:
float value1 = -123.45f;float value2 = 123.45f;
float result1 = value1.Abs(); // 123.45float result2 = value2.Abs(); // 123.45计算 float 的幂次方。
public static float Pow(this float value, float power)示例:
float value = 2f;
float result1 = value.Pow(3); // 8float result2 = value.Pow(10); // 1024计算 float 的平方根。
public static float Sqrt(this float value)示例:
float value = 16f;float result = value.Sqrt(); // 4Ceiling
Section titled “Ceiling”向上取整(天花板函数)。
public static float Ceiling(this float value)示例:
float value1 = 123.1f;float value2 = 123.9f;
float result1 = value1.Ceiling(); // 124float result2 = value2.Ceiling(); // 124向下取整(地板函数)。
public static float Floor(this float value)示例:
float value1 = 123.1f;float value2 = 123.9f;
float result1 = value1.Floor(); // 123float result2 = value2.Floor(); // 123计算 float 的符号。
public static int Sign(this float value)示例:
float value1 = 123.45f;float value2 = 0f;float value3 = -123.45f;
int result1 = value1.Sign(); // 1int result2 = value2.Sign(); // 0int result3 = value3.Sign(); // -16. 四则运算
Section titled “6. 四则运算”float 加法。
public static float Add(this float value, float other)示例:
float value = 100f;float result = value.Add(50f); // 150Subtract
Section titled “Subtract”float 减法。
public static float Subtract(this float value, float other)示例:
float value = 100f;float result = value.Subtract(30f); // 70Multiply
Section titled “Multiply”float 乘法。
public static float Multiply(this float value, float other)示例:
float value = 100f;float result = value.Multiply(1.5f); // 150DivideSafe
Section titled “DivideSafe”float 除法,除数为零时返回指定默认值。
public static float DivideSafe(this float value, float other, float defaultValue = 0f)示例:
float value = 100f;
float result1 = value.DivideSafe(4f); // 25float result2 = value.DivideSafe(0f); // 0float 求余。
public static float Mod(this float value, float other)7. 比较运算
Section titled “7. 比较运算”求两个 float 的最大值。
public static float Max(this float value, float other)求两个 float 的最小值。
public static float Min(this float value, float other)AbsDiff
Section titled “AbsDiff”求两个 float 的绝对差值。
public static float AbsDiff(this float value, float other)EqualsTolerance
Section titled “EqualsTolerance”判断两个 float 是否在指定容差范围内相等。
public static bool EqualsTolerance(this float value, float other, float tolerance = 0.0001f)8. 格式化输出
Section titled “8. 格式化输出”ToFixedString
Section titled “ToFixedString”将 float 转换为字符串,保留指定小数位。
public static string ToFixedString(this float value, int digits = 2)示例:
float value = 123.4567f;
string result1 = value.ToFixedString(); // "123.46"string result2 = value.ToFixedString(3); // "123.457"ToCurrencyString
Section titled “ToCurrencyString”将 float 转换为货币格式字符串。
public static string ToCurrencyString(this float value, string culture = "zh-CN")示例:
float value = 1234.56f;string result = value.ToCurrencyString(); // "¥1,234.56"ToPercentString
Section titled “ToPercentString”将 float 转换为百分比字符串。
public static string ToPercentString(this float value, int digits = 2)示例:
float value = 0.1234f;string result = value.ToPercentString(); // "12.34%"ToScientificString
Section titled “ToScientificString”将 float 转换为科学计数法字符串。
public static string ToScientificString(this float value, int digits = 2)示例:
float value = 123456.78f;string result = value.ToScientificString(); // "1.23E+05"ToFriendlyString
Section titled “ToFriendlyString”将 float 转换为友好字符串(如 “1.23万”、“1.23亿”)。
public static string ToFriendlyString(this float value, int digits = 2)示例:
float value1 = 12345f;float value2 = 123456789f;
string result1 = value1.ToFriendlyString(); // "1.23万"string result2 = value2.ToFriendlyString(); // "1.23亿"ToThousandsString
Section titled “ToThousandsString”将 float 转换为千分位格式字符串。
public static string ToThousandsString(this float value, int digits = 2)示例:
float value = 1234567.89f;string result = value.ToThousandsString(); // "1,234,567.89"9. 进制转换
Section titled “9. 进制转换”ToHexString
Section titled “ToHexString”将 float 转换为十六进制字符串(浮点数内存表示)。
public static string ToHexString(this float value)ToBinaryString
Section titled “ToBinaryString”将 float 转换为二进制字符串(浮点数内存表示)。
public static string ToBinaryString(this float value)ToOctalString
Section titled “ToOctalString”将 float 转换为八进制字符串(浮点数内存表示)。
public static string ToOctalString(this float value)- 数值计算 - 进行各种数学运算和比较
- 金额展示 - 将数值转换为指定格式的字符串显示
- 数据验证 - 数值范围和状态判断
- 科学计算 - 高精度数学运算和科学计数法表示
- 财务计算 - 货币格式显示和百分比计算
- 类型转换 - float 与其他数值类型的安全转换
- 业务逻辑 - 数值状态判断(正负、奇偶等)
- 用户界面 - 提供友好的数值表示形式(带单位)
- 所有方法都是扩展方法,需要通过
float实例来调用 - 四舍五入方法使用
MidpointRounding.AwayFromZero策略,符合常规数学习惯 IsInteger方法使用MathF.Truncate进行整数判断- 除法方法提供安全版本
DivideSafe,避免除零异常 - 货币格式方法支持多语言区域设置,默认为中文区域
- 奇偶判断仅对整数有效,非整数会被判断为非奇非偶
- 类型转换方法会对数值进行四舍五入处理
ToFriendlyString方法提供符合中文习惯的大数表示- 进制转换方法用于查看浮点数的内存表示
- 特殊值判断方法可识别 NaN 和无穷大等特殊值