Money — 金额工具
- 文件位置:
kernel/Foundation/Data/Money.php - 命名空间:
kernel\Foundation\Data - 类型: 纯静态工具类
金额处理静态工具类:分/元转换、格式化、折扣、税费、中文大写。全部通过 Money::方法名(...) 调用。
方法速查表
| 类别 | 方法 |
|---|---|
| 单位转换 | fenToYuan、yuanToFen |
| 格式化 | yuan |
| 计算 | discount、tax |
| 大写 | toChinese |
方法
fenToYuan($fen) — 分转元
将「分」为单位的整数金额转为「元」为单位的浮点数。
参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
$fen | int | 无 | 分单位的金额 |
返回值
float:元单位的金额。
示例
php
Money::fenToYuan(12345); // 123.45yuanToFen($yuan) — 元转分
将「元」为单位的金额转为「分」为单位的整数(四舍五入取整)。
参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
$yuan | float|int | 无 | 元单位的金额 |
返回值
int:分单位的金额。
示例
php
Money::yuanToFen(123.45); // 12345yuan($yuan) — 元金额格式化字符串
将元金额格式化为固定两位小数的金额字符串(如 "123.50")。
参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
$yuan | float|int | 无 | 元单位的金额 |
返回值
string:固定两位小数的金额字符串。
示例
php
Money::yuan(123.5); // "123.50"discount($yuan, $percent) — 按百分比折扣
按折扣百分比计算折后金额。$percent 表示折扣力度(如 80 表示 8 折,即原价 × 80%)。
参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
$yuan | float|int | 无 | 原价(元) |
$percent | float|int | 无 | 折扣百分比(0-100) |
返回值
float:折后金额(元)。
示例
php
Money::discount(100, 80); // 80.0(8 折)tax($yuan, $rate) — 税费计算
按税率计算税费金额。$rate 为税率百分比(如 13 表示 13%)。
参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
$yuan | float|int | 无 | 计税基数(元) |
$rate | float|int | 无 | 税率(百分比,0-100) |
返回值
float:税费金额(元)。
示例
php
Money::tax(100, 13); // 13.0toChinese($yuan) — 金额转中文大写
将元金额转换为中文大写金额(如 "壹佰元整"、"壹佰元伍角")。支持元、角、分,整数部分以「整」结尾。
参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
$yuan | float|int | 无 | 元单位的金额 |
返回值
string:中文大写金额。
示例
php
Money::toChinese(100.5); // "壹佰元伍角"
Money::toChinese(100); // "壹佰元整"私有辅助方法
| 方法 | 说明 |
|---|---|
_integerToChinese($num) | 将整数部分转为中文大写数字(toChinese() 内部调用) |