博客列表 >阿拉伯数字转中文大写

阿拉伯数字转中文大写

Ant.
Ant. 原创
2023年09月25日 16:10:581107浏览
  1. function numberToChinese($number)
  2. {
  3. $number = intval($number);
  4. $bit = array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十");
  5. //各位数
  6. if ($number <= 10) {
  7. return $bit[$number];
  8. }
  9. //十位数
  10. if ($number < 100) {
  11. $array = str_split($number);
  12. if ($array[0] < 2) {
  13. return $bit[10] . $bit[$array[1]];
  14. } else {
  15. if ($array[1] == 0) {
  16. return $bit[$array[0]] . $bit[10];
  17. } else {
  18. return $bit[$array[0]] . $bit[10] . $bit[$array[1]];
  19. }
  20. }
  21. }
  22. //百位数
  23. if ($number < 1000) {
  24. $array = str_split($number);
  25. if ($array[1] == 0 && $array[2] == 0) {
  26. return $bit[$array[0]] . "百";
  27. } elseif ($array[1] == 0 && $array[2] != 0) {
  28. return $bit[$array[0]] . "百" . $bit[$array[1]] . $bit[$array[2]];
  29. } elseif ($array[1] != 0 && $array[2] == 0) {
  30. return $bit[$array[0]] . "百" . $bit[$array[1]] . $bit[10];
  31. } else {
  32. return $bit[$array[0]] . "百" . $bit[$array[1]] . $bit[10] . $bit[$array[2]];
  33. }
  34. }
  35. //千位数
  36. if ($number < 10000) {
  37. $array = str_split($number);
  38. if ($array[1] == 0 && $array[2] == 0 && $array[3] == 0) {
  39. return $bit[$array[0]] . "千";
  40. } elseif ($array[1] == 0 && $array[2] != 0 && $array[3] != 0) {
  41. return $bit[$array[0]] . "千" . $bit[$array[1]] . $bit[$array[2]] . $bit[10] . $bit[$array[3]];
  42. } elseif ($array[1] == 0 && $array[2] == 0 && $array[3] != 0) {
  43. return $bit[$array[0]] . "千" . $bit[$array[1]] . $bit[$array[3]];
  44. } elseif ($array[1] == 0 && $array[2] != 0 && $array[3] == 0) {
  45. return $bit[$array[0]] . "千" . $bit[$array[1]] . $bit[$array[2]] . $bit[10];
  46. } elseif ($array[1] != 0 && $array[2] == 0 && $array[3] == 0) {
  47. return $bit[$array[0]] . "千" . $bit[$array[1]] . "百";
  48. } elseif ($array[1] != 0 && $array[2] != 0 && $array[3] == 0) {
  49. return $bit[$array[0]] . "千" . $bit[$array[1]] . "百" . $bit[$array[2]] . $bit[10];
  50. } elseif ($array[1] != 0 && $array[2] == 0 && $array[3] != 0) {
  51. return $bit[$array[0]] . "千" . $bit[$array[1]] . "百" . $bit[$array[2]] . $bit[$array[3]];
  52. } else {
  53. return $bit[$array[0]] . "千" . $bit[$array[1]] . "百" . $bit[$array[2]] . $bit[10] . $bit[$array[3]];
  54. }
  55. }
  56. return $number;
  57. }
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议