php中money用什么显示,如何使用PHP将十进制数转换为单词(money格式)?
我只需要一点帮助.因为我正在创建一个代码,用于将小数字转换为单词中的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格式)?相关推荐
- aspose excel中文文档_Excel实战技巧,如何将阿拉伯数字快速转换为中文大小写格式?...
Hi,大家好,我是小雨!应诸多网友的需求,从今天起小雨每天为大家讲解一个办公软件(Word.Excel.PPT)实战技巧. 第 001 期:如何将阿拉伯数字快速转换为中文大小写格式 Excel最强大的 ...
- Java中实现十进制数转换为二进制的几种办法
Java中实现十进制数转换为二进制 第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒 ...
- Java中实现十进制数转换为二进制
Java中实现十进制数转换为二进制 第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2-依次循环,直到商为0结束,把余数倒着依 ...
- java 36 进制_数学-在Java中如何将十进制数转换为以36为底的数字?
数学-在Java中如何将十进制数转换为以36为底的数字? 如果我有一个十进制数字,如何在Java中将其转换为以36为基数? slavoj asked 2020-07-13T23:15:07Z 10个解 ...
- 用python将十进制数转换成二进制数_python中的数据结构-将十进制数转换为二进制数...
二进制表示法在计算机科学中很重要,计算机中存储的所有值都以一串二进制数字,即0和1的形式存在. 如果无法在通用表示形式和二进制数字之间来回转换,我们将需要以非常奇怪的方式与计算机进行交互. 十进制的数 ...
- 总结计算机中十进制数二进制数,计算机中十进制转换为二进制的新方法
计算机,考试必备! 计算机中十进制转换为二进制的另一方法 -------"定位减权法" 胡燏 (四川建筑职业技术学院计算机系,618000) [摘要]本文从十进制与二进制的特点入手 ...
- 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 将数字符号按序排列成数 ...
- android 弹出fragment,Android中ViewPager获取当前显示的Fragment
前言 在项目中,有时会用到在ViewPager中显示同样类型的Fragment,同时这样的Fragment的个数是动态的,但是PagerAdapter没有给我们提供getCurrentFragment ...
- web前端培训:CSS中单行文本溢出显示省略号的方法
CSS中单行文本溢出显示省略号的方法你知道吗?在web前端技术学习中,这个问题其实是属于老生常谈了,因为css单行文本的应用是非常频繁的,比如网站最基本的文章列表,标题会很长,而显示列表的区域宽度却没 ...
最新文章
- 北大数院校友最新成果登数学四大顶刊,偏微分方程突破,可用于W-GAN,现已回国任教中科大...
- golang 解析html
- 石川es6课程---5、函数-参数
- strcmp java_C语言中strcmp的实现原型
- kcbzps oracle_Oracle 11g DRCP配置与使用(上)
- mamcache登录、_gomemcache首页、文档和下载 - memcache客户端库 - Go语言中文网 - Golang中文社区...
- var _ biz.GreeterRepo = (*greeterRepo)(nil)的总结
- Android自定义ScrollBar,android自定义View之垂直的滚动条
- 阿里巴巴常用的12个后端开发工具
- PHP简单同学录(连接数据库)
- 在 SSM 中使用 Ajax 进行数据传递
- 泊松过程的概念及其例题分析
- 【HigherHRNet】 HigherHRNet 详解之 HigherHRNet的热图回归代码
- pyautogui实现微信自动回复和其他功能
- 【复制】互联网术语、简称、缩写
- HTML特效推荐,超级惊艳 10款HTML5动画特效推荐[转]
- 数据寻址方式(10种)
- Util-linux
- mendeley中如何重复引用同一篇参考文献_科研小白如何高效阅读下载的文献/论文,怎么样做笔记?给大家安利几种工具和方法!赶快收藏起来...
- 【Arduino】mega2560 驱动grove 三色水墨屏
热门文章
- 如何为curl命令添加数据?
- UnicodeEncodeError:#39;ascii#39;编解码器无法在位置20编码字符u#39;\\ xa0#39;:序数不在范围内(128)
- axure html尺寸,Axure 原型 | 教你使用自适应视图构建界面
- STM32F103mini教程学习总结与心得(五)---->通用定时器
- mob sdk vue 短信验证_如何快速集成短信验证码API[图文教程]
- python3语法都相同吗_Python 3.3.0的语法和3.0以前的版本有什么不一样的吗?
- 使用信号灯法,标志位解决测试生产者消费者问题(源码解析、建议收藏)
- 海康相机回调方式理一下
- JS根据分数,计算名次(分数相同名次相同)
- gitlab之常用命令