Skip to content

Numeric — 数值工具

  • 文件位置: kernel/Foundation/Data/Numeric.php
  • 命名空间: kernel\Foundation\Data
  • 类型: 纯静态工具类

数值处理静态工具类:转换、范围判断/钳制、精度、格式化、百分比、字节可读化。全部通过 Numeric::方法名(...) 调用。

方法速查表

类别方法
转换val
范围isBetweenclamp
精度roundTofixedDecimalspadDecimals
格式化formatpercentage
单位换算bytesToHuman

方法

val($Target) — 转为数值

将传入值转为数值类型。若为整数字符串或整数则返回 int,否则返回 floatnull 转为 0

参数

参数类型默认说明
$Targetmixed待转换的值(数字字符串、int、float 等)

返回值

  • int|float:数值类型。

示例

php
Numeric::val("3.14");   // 3.14 (float)
Numeric::val("42");     // 42 (int)
Numeric::val(null);     // 0

isBetween($value, $min, $max) — 是否在范围内

判断 $value 是否在闭区间 [$min, $max] 内(含边界)。

参数

参数类型默认说明
$valueint|float待判断的值
$minint|float区间下界(含)
$maxint|float区间上界(含)

返回值

  • bool:在区间内返回 true

示例

php
Numeric::isBetween(50, 0, 100);   // true
Numeric::isBetween(150, 0, 100);  // false

clamp($value, $min, $max) — 钳制到范围

$value 钳制到 [$min, $max] 区间:小于 $min 返回 $min,大于 $max 返回 $max,否则返回原值。

参数

参数类型默认说明
$valueint|float待钳制值
$minint|float下界
$maxint|float上界

返回值

  • int|float:钳制后的值。

示例

php
Numeric::clamp(150, 0, 100);   // 100
Numeric::clamp(-10, 0, 100);   // 0
Numeric::clamp(50, 0, 100);    // 50

roundTo($value, $decimals = 0) — 四舍五入

将数值四舍五入到指定小数位数。$decimals=0 时返回 int,否则返回 float

参数

参数类型默认说明
$valueint|float待处理值
$decimalsint0保留的小数位数

返回值

  • int|float:四舍五入后的值。

示例

php
Numeric::roundTo(3.14159, 2);   // 3.14
Numeric::roundTo(2.5);          // 3

format($value, $decimals = 2, $decPoint = '.', $thousandsSep = ',') — 千分位格式化

使用 number_format 格式化数值:千分位分组、指定小数位、可自定义小数点与千分位分隔符。

参数

参数类型默认说明
$valueint|float待格式化值
$decimalsint2保留的小数位数
$decPointstring'.'小数点符号
$thousandsSepstring','千分位分隔符

返回值

  • string:格式化后的数字字符串。

示例

php
Numeric::format(12345.678, 2);          // "12,345.68"
Numeric::format(12345.678, 2, ".", ""); // "12345.68"

percentage($value, $total, $decimals = 2) — 百分比

计算 $value$total 的百分比,四舍五入到指定小数位。

参数

参数类型默认说明
$valueint|float分子
$totalint|float分母
$decimalsint2保留的小数位数

返回值

  • float:百分比数值(如 12.5 表示 12.5%)。

示例

php
Numeric::percentage(25, 200);   // 12.5

fixedDecimals($value, $decimals = 2) — 固定小数位

将数值四舍五入并保证输出固定小数位数(不足补零)。

参数

参数类型默认说明
$valueint|float待处理值
$decimalsint2固定的小数位数

返回值

  • string:固定小数位数的字符串。

示例

php
Numeric::fixedDecimals(3.5, 2);    // "3.50"
Numeric::fixedDecimals(3.14159, 2); // "3.14"

padDecimals($value, $decimals = 2) — 小数补零

对数值的小数部分补零对齐到指定位数(不做四舍五入,仅补齐)。

参数

参数类型默认说明
$valueint|float待处理值
$decimalsint2目标小数位数

返回值

  • string:补齐后的字符串。

示例

php
Numeric::padDecimals(3.5, 2);   // "3.50"

bytesToHuman($bytes, $decimals = 2) — 字节可读化

将字节数转换为人类可读的大小(B/KB/MB/GB/TB/PB),自动选择合适单位。

参数

参数类型默认说明
$bytesint|float字节数
$decimalsint2保留的小数位数

返回值

  • string:如 "1.00 MB" 的可读大小。

示例

php
Numeric::bytesToHuman(1048576);   // "1.00 MB"
Numeric::bytesToHuman(1536);      // "1.50 KB"