php 将整数转换为英文单词

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 将整数转换为英文单词相关的知识,希望对你有一定的参考价值。

function convert_number_to_word($num = FALSE) {
  $num = str_replace([',', ' '], '', trim($num));
  if (!$num) {
    return FALSE;
  }
  $num = (int) $num;
  $words = [];
  $list1 = [
    '', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten',
    'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen',
  ];
  $list2 = [
    '', 'ten', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety', 'hundred',
  ];
  $list3 = [
    '', 'thousand', 'million', 'billion', 'trillion', 'quadrillion', 'quintillion', 'sextillion', 'septillion', 'octillion', 'nonillion', 'decillion',
    'undecillion', 'duodecillion', 'tredecillion', 'quattuordecillion', 'quindecillion', 'sexdecillion', 'septendecillion', 'octodecillion', 'novemdecillion', 'vigintillion',
  ];
  $num_length = strlen($num);
  $levels = (int) (($num_length + 2) / 3);
  $max_length = $levels * 3;
  $num = substr('00' . $num, -$max_length);
  $num_levels = str_split($num, 3);
  for ($i = 0; $i < count($num_levels); $i++) {
    $levels--;
    $hundreds = (int) ($num_levels[$i] / 100);
    $hundreds = ($hundreds ? ' ' . $list1[$hundreds] . ' hundred ' : '');
    $tens = (int) ($num_levels[$i] % 100);
    $singles = '';
    if ($tens < 20) {
      $tens = ($tens ? ' ' . $list1[$tens] . ' ' : '');
    }
    else {
      $tens = (int) ($tens / 10);
      $tens = ' ' . $list2[$tens] . ' ';
      $singles = (int) ($num_levels[$i] % 10);
      $singles = ' ' . $list1[$singles] . ' ';
    }
    $words[] = $hundreds . $tens . $singles . (($levels && (int) ($num_levels[$i])) ? ' ' . $list3[$levels] . ' ' : '');
  } //end for loop
  $commas = count($words);
  if ($commas > 1) {
    $commas = $commas - 1;
  }
  return trim(implode(' ', $words));
}

以上是关于php 将整数转换为英文单词的主要内容,如果未能解决你的问题,请参考以下文章

将整数转换为单词

有没有办法将数字单词转换为整数?

如何在方括号中查找单词并使用 php 转换为动态 url?

需要将浮点值转换为php中条件以下的整数格式

php 助手 - 将字符串转换为标题案例(每个单词的首字母大写,除了小字)

php 助手 - 将字符串转换为标题案例(每个单词的首字母大写,除了小字)