/**
* 阿拉伯数字金额转大写人民币
* 最大位数:999999999999.99
*
* @param number $data
* @return string
* @author hegz
* @date 2010/05/23
*/
function numToRmb($data)
{
$capnum = array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
$capdigit = array("","拾","佰","仟");
$subdata = explode(".", $data);
$yuan = $subdata[0];
$yaun_len = strlen($yuan);
if ($yaun_len > 12) {
return "数字字串整数部分不能大于12位。";
}
/**
* 处理整数部分
*/
$j = 0;
$nonzero = 0;
$cncap = '';
if ((int)$yuan > 0) {
for ($i = 0; $i < $yaun_len; $i++) {
// 确定个位
if ($i == 0) {
$cncap .= "元";
}
//确定万位
if ($i == 4) {
$j = 0;
$nonzero = 0;
$cncap = "万" . $cncap;
}
//确定亿位
if ($i == 8) {
$j = 0;
$nonzero = 0;
$cncap= "亿" . $cncap;
}
$numb = substr($yuan, -1, 1); // 截取尾数
$cncap = ($numb) ? $capnum[$numb] . $capdigit[$j] . $cncap : (($nonzero) ? "零" . $cncap : $cncap);
$nonzero = ($numb) ? 1 : $nonzero;
$yuan = substr($yuan, 0, strlen($yuan) - 1); //截去尾数
$j++;
}
}
$cncap = preg_replace("/(零)+/", "\\1", $cncap); // 合并连续“零”
/**
* 处理小数部分
*
* 处理“00”、“?0”、“0?”、“??”这四种情形的值
*/
if (isset($subdata[1])) {
$jiao = substr($subdata[1],0,1);
$fen = substr($subdata[1],1,1);
$jiao_val = (int)$jiao;
$fen_val = (int)$fen;
$xs = '';
if ($jiao_val == 0 && $fen_val == 0) {
$xs = '整';
} elseif ($jiao_val > 0 && $fen_val == 0) {
$xs = $capnum[$jiao_val] . '角';
} elseif ($jiao_val == 0 && $fen_val > 0) {
$xs = ((int)$yuan) ? '零' . $capnum[$fen_val] . '分' : $capnum[$fen_val] . '分';
} else {
$xs = $capnum[$jiao_val] . '角' . $capnum[$fen_val] . '分';
}
}
$cncap .= $xs;
return $cncap;
}
分享到:
相关推荐
在会计和财务领域,正确地将阿拉伯数字转换为大写人民币金额是至关重要的,因为这有助于防止欺诈和误解。在Excel等电子表格软件中,我们可以快速便捷地完成这个任务,无需手动转换每一个数字。以下是一种将阿拉伯...
### 人民币小写金额转大写金额(Java版) #### 概述 本文将详细介绍一个Java程序,该程序用于将小写的人民币金额转换为大写形式。此转换主要用于财务、会计和其他正式场合,在这些场合中,大写金额是标准且必须的...
Java 实现数字转换人民币中文大写工具 Java 实现数字转换人民币中文大写工具是指使用 Java 语言将数字转换为人民币中文大写格式的工具。该工具具有很高的实用价值,特别是在人事业务系统开发中,经常需要将数字转换...
"数字转换成金额大写"是一个常见的需求,特别是在Delphi这样的编程环境中。Delphi是一款强大的面向对象的集成开发环境(IDE),它提供了丰富的功能和库来支持这类转换。 在Delphi中实现这个功能,首先我们需要理解...
标题中的“自编自用的一个支持三种转换形式的金额转换大写函数access2000”指的是一个在Access 2000环境下开发的自定义函数,它具有将数字金额转换为大写汉字的能力,这在财务软件或者需要打印正式单据的应用中非常...
在IT领域,尤其是在财务软件开发或者自动化处理财务数据时,阿拉伯数字转换为人民币大写是一项基本的需求。这是因为中国的会计标准要求在正式的财务报表和发票中,金额必须以中文大写表示,以防止篡改和提高准确性。...
本文实例为大家分享了php阿拉伯数字转中文人民币大写的实现代码,供大家参考,具体代码如下 代码1:php阿拉伯数字转中文人民币大写,有详细的注释 /** *数字金额转换成中文大写金额的函数 *String Int $num 要转换...
Ireport实现金额大写 在irport里面写script脚本 完成转换
首先,我们要明白人民币金额大写的基本规则。在中文中,数字的大写形式有特定的对应关系,例如: 1. 零:零 2. 一至九:壹、贰、叁、肆、伍、陆、柒、捌、玖 3. 十、百、千、万、亿:拾、佰、仟、万、亿 在实现这个...
本文将详细讲解如何实现“人民币大写金额转数字”的算法,主要基于C#编程语言。 首先,我们需要了解人民币大写金额的基本规则。人民币大写金额由“零”、“壹”、“贰”、“叁”、“肆”、“伍”、“陆”、“柒”、...
用MySQL函数实现 小写金额与大写金额的互转,用数据库来实现
- **金额大写转换**:将阿拉伯数字(如123456.78)转换为中文大写(如壹拾贰万叁仟肆佰伍拾陆元柒角捌分)的过程,常见于财务系统中。 2. **实现步骤** - **创建工程**:首先,在VB6.0环境中创建一个新的标准EXE...
人民币的小写金额是使用阿拉伯数字表示的金额,例如1002300.90。大写金额则使用中文数字和单位来表示,例如“壹佰零拾零万贰仟三佰零拾零元玖角零分”。在实现转换时,我们需要将小写金额的每一位数字提取出来,并将...
"人民币金额小写转大写"是一个常见的需求,它涉及到将阿拉伯数字(小写)转换成中文汉字(大写),以减少书写错误和欺诈的风险。在.NET框架下,C#语言提供了丰富的功能来处理这种转换。 首先,我们需要理解人民币...
小写金额通常使用阿拉伯数字,如“1234.56元”,而大写金额则使用汉字,如“壹仟贰佰叁拾肆元伍角陆分”。转换过程中需要注意以下几点: 1. **数字到汉字的映射**:每个数字(0-9)都有对应的汉字大写形式,例如0...
人民币大写的表示方式与阿拉伯数字不同,1-9的大写形式分别为壹、贰、叁、肆、伍、陆、柒、捌、玖,0则为零。而个位、十位、百位、千位等的表示方式也有相应的汉字对应。例如,1234567890对应的人民币大写是壹拾贰亿...
人民币金额通常有两种表示方式:小写(阿拉伯数字)和大写(汉字)。小写的123456.78元,对应的大写则是“壹拾贰万叁仟肆佰伍拾陆元柒角捌分”。在财务报表、合同和银行转账等正式文件中,为了防止篡改和增加准确性...
2. **人民币大写金额转换**:在金融和会计领域,为了防止篡改和增强账目的清晰度,通常会将数字金额用汉字大写表示。例如,数字"1234.56"会被转换成"壹仟贰佰叁拾肆元伍角陆分"。这个DLL库提供了这样的转换功能,...
### JavaScript 数字转大写人民币金额函数解析 在日常开发工作中,经常需要处理财务相关的数据,比如将数字转换为大写人民币金额格式。这在发票、合同等正式文档中非常常见。下面我们就来详细分析一下如何用...