数字金额转大写汉字

function changeMoneyToChinese(money) {
var cnNums = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); //汉字的数字
var cnIntRadice = new Array("", "拾", "佰", "仟"); //基本单位
var cnIntUnits = new Array("", "万", "亿", "兆"); //对应整数部分扩展单位
var cnDecUnits = new Array("角", "分", "毫", "厘"); //对应小数部分单位
//var cnInteger = "整"; //整数金额时后面跟的字符
var cnIntLast = "元"; //整型完以后的单位
var maxNum = 999999999999999.9999; //最大处理的数字

var IntegerNum; //金额整数部分
var DecimalNum; //金额小数部分
var ChineseStr = ""; //输出的中文金额字符串
var parts; //分离金额后用的数组,预定义
if(money == "") {
return "";
}
money = parseFloat(money);
if(money >= maxNum) {
$.alert(‘超出最大处理数字‘);
return "";
}
if(money == 0) {
//ChineseStr = cnNums[0]+cnIntLast+cnInteger;
ChineseStr = cnNums[0] + cnIntLast
//document.getElementById("show").value=ChineseStr;
return ChineseStr;
}
money = money.toString(); //转换为字符串
if(money.indexOf(".") == -1) {
IntegerNum = money;
DecimalNum = ‘‘;
} else {
parts = money.split(".");
IntegerNum = parts[0];
DecimalNum = parts[1].substr(0, 4);
}
if(parseInt(IntegerNum, 10) > 0) { //获取整型部分转换
zeroCount = 0;
IntLen = IntegerNum.length;
for(i = 0; i < IntLen; i++) {
n = IntegerNum.substr(i, 1);
p = IntLen - i - 1;
q = p / 4;
m = p % 4;
if(n == "0") {
zeroCount++;
} else {
if(zeroCount > 0) {
ChineseStr += cnNums[0];
}
zeroCount = 0; //归零
ChineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
}
if(m == 0 && zeroCount < 4) {
ChineseStr += cnIntUnits[q];
}
}
ChineseStr += cnIntLast;
//整型部分处理完毕
}
if(DecimalNum != ‘‘) { //小数部分
decLen = DecimalNum.length;
for(i = 0; i < decLen; i++) {
n = DecimalNum.substr(i, 1);
if(n != ‘0‘) {
ChineseStr += cnNums[Number(n)] + cnDecUnits[i];
}
}
}
if(ChineseStr == ‘‘) {
//ChineseStr += cnNums[0]+cnIntLast+cnInteger;
ChineseStr += cnNums[0] + cnIntLast;
}
/* else if( DecimalNum == ‘‘ ){
ChineseStr += cnInteger;
ChineseStr += cnInteger;
} */
return ChineseStr;
}

var bigMoney = changeMoneyToChinese(3000.10);
console.log(bigMoney)

时间: 2024-11-05 11:39:49

数字金额转大写汉字的相关文章

转一个财务方面常用到的数字金额转成汉字大写金额 php类

系统里有牵扯到财务.合同等方面的处理时,常常需要把数字金额转成汉字大写金额(貌似这样正规),转一个转换的php class吧!<?php// 诸海加(ALPHA .z)// 2000-7-19 class ChineseNumber{//var $basical=array(0=>"零","一","二","三","四","五","六","七&qu

JS实现将数字金额转换为大写人民币汉字

function convertCurrency(money) { //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); //基本单位 var cnIntRadice = new Array('', '拾', '佰', '仟'); //对应整数部分扩展单位 var cnIntUnits = new Array('', '万', '亿', '兆'); //对应小数部分单位 var cnDe

将数字金额转成汉字大写的

/** 数字金额大写转换(可以处理整数,小数,负数) */ function smalltoBIG(n) { var fraction = ['角', '分']; var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']; var unit = [ ['元', '万', '亿'], ['', '拾', '佰', '仟'] ]; var head = n < 0? '欠': ''; n = Math.abs(n); var s =

java实现数字金额转换成汉字大写金额

我们经常在做项目的财务报表,需要打印发票等情况时需要用到小写的财务金额要转换成汉字的大写金额,下面就是实现该功能的代码 import java.lang.Math; /***通用型金钱转换类**/public class Money {  private String HanDigiStr[] = new String[] { "零", "壹", "贰", "叁", "肆", "伍", 

数字金额转换大写人民币

using System;using System.Collections.Generic;using System.Text; namespace PublicClass{    /// <summary>    /// Copyright(c) 2008~2011 KingBoy Software Co.,Ltd    /// FileName:大写人民币类    /// Author:KingBoy  Version:1.0.0.0  Date:2009-3-05    /// Desc

PHP数字金额转换大写金额

早些年做CRM用到的一个金额转换函数,今天从旧项目中拿出来记录一下.金额转换的函数方法有很多,都很不错.不过这个是小崔刚工作的时候写的一个转换函数,多少还是有点纪念意义.如有问题请朋友们指出,小崔及时修正.谢谢啦! 废话不多说直接上代码: 1 <?php 2 3 /** 4 * 数字金额转换大写数字 5 * $num 数字类型 6 */ 7 8 function inttodaxie($num) { 9 //判断$num是否数字 10 if(!is_numeric($num)) return -

Oracle 小写金额转换为大写

在开发EBS的合同报表打印的时候需要将小写金额转换为大写. 如下是本人自己写的转换函数. 主要思路:先获取小数点位置,在区分整数与小数点处理,根据位数和数字组合读取金额. 最后再处理特殊显示部分. /******************************************************************* *  FUNCTION get_big_amount 数字金额转换为大写 *  p_amount 输入数据金额 *  返回大写金额,位数 :千亿----厘 ****

将金额数字转换为大写汉字的js函数

1 //将金额数字转换为大写汉字的函数 2 function convertCurrency(money) { 3 //汉字的数字 4 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); 5 //基本单位 6 var cnIntRadice = new Array('', '拾', '佰', '仟'); 7 //对应整数部分扩展单位 8 var cnIntUnits = new Array('', '

数字金额转换中文大写

<script type="text/javascript" language="javascript">function Arabia_to_Chinese(Num){ for(i=Num.length-1;i>=0;i--) {  Num = Num.replace(",","")//替换tomoney()中的","  Num = Num.replace(" ",&