php编程:
用户在表单里任意填写一个整数(最多四位正整数),点击提交后显示这个整数的大写,比如:输入“168” ,输出“壹佰陆拾捌” ,输入“1324”,输出“壹仟叁佰贰拾肆”,使用自定义函数方式编写。
要怎么写自定义函数?转换数字到大写数字
谢谢!
php编程:
用户在表单里任意填写一个整数(最多四位正整数),点击提交后显示这个整数的大写,比如:输入“168” ,输出“壹佰陆拾捌” ,输入“1324”,输出“壹仟叁佰贰拾肆”,使用自定义函数方式编写。
要怎么写自定义函数?转换数字到大写数字
谢谢!
写个大概吧,表单提交还有那个限制输入你自己写一下吧。
<?php
function to_chinese_number($n) {
// 将输入的整数转换成字符串
$str = (string)$n;
// 定义中文汉字数字
$chinese_numbers = array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖');
// 定义中文单位
$chinese_units = array('', '拾', '佰', '仟');
// 定义最终返回的字符串
$str_return = '';
// 如果输入的数字小于4位,则转换为中文汉字
if(strlen($str) <= 4) {
// 遍历每一位
for($i=0; $i<strlen($str); $i++) {
// 如果当前位不为0,则拼接上对应的中文汉字和单位
if($str[$i] != 0) {
$str_return .= $chinese_numbers[$str[$i]].$chinese_units[strlen($str)-$i-1];
}
// 否则,如果当前位为0,且不是最后一位,则拼接上“零”
elseif($i < (strlen($str)-1) && $str[$i+1] != 0) {
$str_return .= $chinese_numbers[$str[$i]];
}
}
}
// 如果输入的数字大于4位,则只转换最后4位
else {
// 将最后4位转换为中文汉字
$str_return = to_chinese_number(substr($str, -4));
// 将前面的数字转换为中文汉字
$str_return = to_chinese_number(substr($str, 0, -4)).'仟'.$str_return;
}
// 返回转换后的字符串
return $str_return;
}
// 使用函数
echo to_chinese_number(1234)."<br>";
echo to_chinese_number(1324);