我只需要一点帮助.因为我正在创建一个代码,用于将小数字转换为单词中的Money格式.例如,如果

我有这个号码

‘2143.45’

输出应该是

‘二千一百四十三,四十五美分’

我找到了这样的代码,但我不知道如何包含美分.

function convertNumber($number)

{

list($integer, $fraction) = explode(".", (string) $number);

$output = "";

if ($integer{0} == "-")

{

$output = "negative ";

$integer = ltrim($integer, "-");

}

else if ($integer{0} == "+")

{

$output = "positive ";

$integer = ltrim($integer, "+");

}

if ($integer{0} == "0")

{

$output .= "zero";

}

else

{

$integer = str_pad($integer, 36, "0", STR_PAD_LEFT);

$group = rtrim(chunk_split($integer, 3, " "), " ");

$groups = explode(" ", $group);

$groups2 = array();

foreach ($groups as $g)

{

$groups2[] = convertThreeDigit($g{0}, $g{1}, $g{2});

}

for ($z = 0; $z < count($groups2); $z++)

{

if ($groups2[$z] != "")

{

$output .= $groups2[$z] . convertGroup(11 - $z) . (

$z < 11

&& !array_search('', array_slice($groups2, $z + 1, -1))

&& $groups2[11] != ''

&& $groups[11]{0} == '0'

? " and "

: ", "

);

}

}

$output = rtrim($output, ", ");

}

if ($fraction > 0)

{

$output .= " point";

for ($i = 0; $i < strlen($fraction); $i++)

{

$output .= " " . convertDigit($fraction{$i});

}

}

return $output;

}

function convertGroup($index)

{

switch ($index)

{

case 11:

return " decillion";

case 10:

return " nonillion";

case 9:

return " octillion";

case 8:

return " septillion";

case 7:

return " sextillion";

case 6:

return " quintrillion";

case 5:

return " quadrillion";

case 4:

return " trillion";

case 3:

return " billion";

case 2:

return " million";

case 1:

return " thousand";

case 0:

return "";

}

}

function convertThreeDigit($digit1, $digit2, $digit3)

{

$buffer = "";

if ($digit1 == "0" && $digit2 == "0" && $digit3 == "0")

{

return "";

}

if ($digit1 != "0")

{

$buffer .= convertDigit($digit1) . " hundred";

if ($digit2 != "0" || $digit3 != "0")

{

$buffer .= " and ";

}

}

if ($digit2 != "0")

{

$buffer .= convertTwoDigit($digit2, $digit3);

}

else if ($digit3 != "0")

{

$buffer .= convertDigit($digit3);

}

return $buffer;

}

function convertTwoDigit($digit1, $digit2)

{

if ($digit2 == "0")

{

switch ($digit1)

{

case "1":

return "ten";

case "2":

return "twenty";

case "3":

return "thirty";

case "4":

return "forty";

case "5":

return "fifty";

case "6":

return "sixty";

case "7":

return "seventy";

case "8":

return "eighty";

case "9":

return "ninety";

}

} else if ($digit1 == "1")

{

switch ($digit2)

{

case "1":

return "eleven";

case "2":

return "twelve";

case "3":

return "thirteen";

case "4":

return "fourteen";

case "5":

return "fifteen";

case "6":

return "sixteen";

case "7":

return "seventeen";

case "8":

return "eighteen";

case "9":

return "nineteen";

}

} else

{

$temp = convertDigit($digit2);

switch ($digit1)

{

case "2":

return "twenty-$temp";

case "3":

return "thirty-$temp";

case "4":

return "forty-$temp";

case "5":

return "fifty-$temp";

case "6":

return "sixty-$temp";

case "7":

return "seventy-$temp";

case "8":

return "eighty-$temp";

case "9":

return "ninety-$temp";

}

}

}

function convertDigit($digit)

{

switch ($digit)

{

case "0":

return "zero";

case "1":

return "one";

case "2":

return "two";

case "3":

return "three";

case "4":

return "four";

case "5":

return "five";

case "6":

return "six";

case "7":

return "seven";

case "8":

return "eight";

case "9":

return "nine";

}

}

$num = 500254.89;

$test = convertNumber($num);

echo $test;

?>

php中money用什么显示,如何使用PHP将十进制数转换为单词(money格式)?相关推荐

  1. aspose excel中文文档_Excel实战技巧,如何将阿拉伯数字快速转换为中文大小写格式?...

    Hi,大家好,我是小雨!应诸多网友的需求,从今天起小雨每天为大家讲解一个办公软件(Word.Excel.PPT)实战技巧. 第 001 期:如何将阿拉伯数字快速转换为中文大小写格式 Excel最强大的 ...

  2. Java中实现十进制数转换为二进制的几种办法

    Java中实现十进制数转换为二进制 第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒 ...

  3. Java中实现十进制数转换为二进制

    Java中实现十进制数转换为二进制 第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2-依次循环,直到商为0结束,把余数倒着依 ...

  4. java 36 进制_数学-在Java中如何将十进制数转换为以36为底的数字?

    数学-在Java中如何将十进制数转换为以36为底的数字? 如果我有一个十进制数字,如何在Java中将其转换为以36为基数? slavoj asked 2020-07-13T23:15:07Z 10个解 ...

  5. 用python将十进制数转换成二进制数_python中的数据结构-将十进制数转换为二进制数...

    二进制表示法在计算机科学中很重要,计算机中存储的所有值都以一串二进制数字,即0和1的形式存在. 如果无法在通用表示形式和二进制数字之间来回转换,我们将需要以非常奇怪的方式与计算机进行交互. 十进制的数 ...

  6. 总结计算机中十进制数二进制数,计算机中十进制转换为二进制的新方法

    计算机,考试必备! 计算机中十进制转换为二进制的另一方法 -------"定位减权法" 胡燏 (四川建筑职业技术学院计算机系,618000) [摘要]本文从十进制与二进制的特点入手 ...

  7. c语言中十六进制可以直接和十进制运算吗,十进制与十六进制怎么理解?,C语言中十进制数和十六进制数能直接运算吗...

    16进制 10进制 00 0 01 1 02 2 .. . 09 9 0A 10 0B 11 0C 12 0D 13 0E 14 0F 15 10 16 1F 31 20 32 将数字符号按序排列成数 ...

  8. android 弹出fragment,Android中ViewPager获取当前显示的Fragment

    前言 在项目中,有时会用到在ViewPager中显示同样类型的Fragment,同时这样的Fragment的个数是动态的,但是PagerAdapter没有给我们提供getCurrentFragment ...

  9. web前端培训:CSS中单行文本溢出显示省略号的方法

    CSS中单行文本溢出显示省略号的方法你知道吗?在web前端技术学习中,这个问题其实是属于老生常谈了,因为css单行文本的应用是非常频繁的,比如网站最基本的文章列表,标题会很长,而显示列表的区域宽度却没 ...

最新文章

  1. 北大数院校友最新成果登数学四大顶刊,偏微分方程突破,可用于W-GAN,现已回国任教中科大...
  2. golang 解析html
  3. 石川es6课程---5、函数-参数
  4. strcmp java_C语言中strcmp的实现原型
  5. kcbzps oracle_Oracle 11g DRCP配置与使用(上)
  6. mamcache登录、_gomemcache首页、文档和下载 - memcache客户端库 - Go语言中文网 - Golang中文社区...
  7. var _ biz.GreeterRepo = (*greeterRepo)(nil)的总结
  8. Android自定义ScrollBar,android自定义View之垂直的滚动条
  9. 阿里巴巴常用的12个后端开发工具
  10. PHP简单同学录(连接数据库)
  11. 在 SSM 中使用 Ajax 进行数据传递
  12. 泊松过程的概念及其例题分析
  13. 【HigherHRNet】 HigherHRNet 详解之 HigherHRNet的热图回归代码
  14. pyautogui实现微信自动回复和其他功能
  15. 【复制】互联网术语、简称、缩写
  16. HTML特效推荐,超级惊艳 10款HTML5动画特效推荐[转]
  17. 数据寻址方式(10种)
  18. Util-linux
  19. mendeley中如何重复引用同一篇参考文献_科研小白如何高效阅读下载的文献/论文,怎么样做笔记?给大家安利几种工具和方法!赶快收藏起来...
  20. 【Arduino】mega2560 驱动grove 三色水墨屏

热门文章

  1. 如何为curl命令添加数据?
  2. UnicodeEncodeError:#39;ascii#39;编解码器无法在位置20编码字符u#39;\\ xa0#39;:序数不在范围内(128)
  3. axure html尺寸,Axure 原型 | 教你使用自适应视图构建界面
  4. STM32F103mini教程学习总结与心得(五)---->通用定时器
  5. mob sdk vue 短信验证_如何快速集成短信验证码API[图文教程]
  6. python3语法都相同吗_Python 3.3.0的语法和3.0以前的版本有什么不一样的吗?
  7. 使用信号灯法,标志位解决测试生产者消费者问题(源码解析、建议收藏)
  8. 海康相机回调方式理一下
  9. JS根据分数,计算名次(分数相同名次相同)
  10. gitlab之常用命令