基础参数:

var AIW_number = {0:'零', 1:'壹', 2:'贰', 3:'叁', 4:'肆', 5:'伍', 6:'陆', 7:'柒', 8:'捌', 9:'玖'}
var AIW_unitN = ['兆','亿','万','个']
var AIW_unitP = ['厘','分','角']
var AIW_unitU = ['仟','佰','拾','个']

主方法:

function amountInWords(amount) {
var AIW = (amount+'').split('.')
if(AIW.length>1)
return amountInWordsRound(AIW[0])+'元'+amountInWordsF(AIW[1])
else
return amountInWordsRound(AIW[0])+'元整'
}

整数部分转换:

function amountInWordsRound(round) {
if(!round) return ''
var words = ''
var rounds = Array.from(round)
var length = rounds.length
var unitU = JSON.parse(JSON.stringify(AIW_unitU))
var unitN = JSON.parse(JSON.stringify(AIW_unitN))
while(length>0) {
length--
A = rounds.pop()
U = unitU.pop()
N = (unitU.length==3?unitN.pop():'')
if(A!=0) words=AIW_number[A]+U+N+words
else words=AIW_number[A]+N+words
if(unitU.length==0) unitU = JSON.parse(JSON.stringify(AIW_unitU))
words = words.replace('undefined','')
words = words.replace('个','')
}
return amountInWordsFormate(words)
}

小数部分转换;

function amountInWordsF(fix) {
if(!fix) return ''
var unitP = JSON.parse(JSON.stringify(AIW_unitP));
var fixs = Array.from(fix)
var words=''
$.each(fixs,function(i,o){
var P = unitP.pop()
if(o==0) words+=AIW_number[o]
else words+=AIW_number[o]+P
words = words.replace('undefined','')
})
return amountInWordsFormate(words)
}

格式化处理:

function amountInWordsFormate(words) {
//去除中位零
length = words.length
while(length>1) {
length--
var now = words.charAt(length)
var before = words.charAt(length-1)
var after = words.charAt(length+1)
if(now == before || (AIW_unitN.includes(after) && now==AIW_number[0] ) ){
words = words.substring(0,length)+words.substring(length+1)
length = words.length
}
}
//去除末位零
length = 2
while(length>1) {
length--
if(words.charAt(words.length-1)==AIW_number[0] && words.length>1){
words = words.substring(0,words.length-1)
length = 2
}
}
return words
}

js金额转中文大写的更多相关文章

  1. 【转载】C#工具类:人民币金额转换为中文大写

    在涉及到金融业务这一块的系统设计中,时常能够遇到的情况是需要将阿拉伯数字的人民币金额自动转换为中文的大写金额.现在互联网上也有很多网站提供此类服务,只要你输入人民币的阿拉伯数字金额,输入后自动给你转换 ...

  2. C# 金额转中文大写

    今天看到一个库是把金额转中文大写,看起来很容易,所以我就自己写了 创建的项目是创建一个 dot net core 的项目,实际上这个项目可以创建为 Stand 的. 首先创建类,这个类的构造传入一个 ...

  3. 2018-4-29-C#-金额转中文大写

    title author date CreateTime categories C# 金额转中文大写 lindexi 2018-04-29 09:50:38 +0800 2018-04-02 21:4 ...

  4. js 金额小写转换为大写

    <script> jQuery(document).ready(function () { //当金额文本框失去焦点时,自动将数字转化为大写填充到 大写的文本框中 $("#Amo ...

  5. js转换金额为中文大写

    function changeMoneyToChinese(money){ var cnNums = new Array("零","壹","贰&quo ...

  6. vue filters 金额转中文大写

    capitalAmount(amount: any) {             // 汉字的数字             const cnNums = ["零", "壹 ...

  7. java数字金额转中文大写

    package com.example.convert; import java.text.DecimalFormat; import java.util.Scanner; /** * 金额转换 * ...

  8. js阿拉伯数字转中文大写 方法重多

    方法一  function DX(n) { if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) return "数据非法"; var unit = &qu ...

  9. js阿拉伯数字转中文大写

    function DX(n) { if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) return "数据非法"; var unit = "千百 ...

随机推荐

  1. Shell调试Debug的三种方式

    Shell脚本进行Debug调试的三种方法如下: 1.在调用脚本的时候开启deubg sh -x shell.sh 2.在脚本文件首行开启deubg #!/bin/bash -x 3. 使用set开启 ...

  2. Word2010制作倒福字

    原文: https://www.toutiao.com/i6489772955797553677/ 选择"插入"选项卡,"插图"功能组,"形状&quo ...

  3. Word2010制作电子印章

    原文链接: https://www.toutiao.com/i6488971642788643341/ 选择"插入"选项卡,"插图"功能组,"形状&q ...

  4. 备忘录——基于rdlc报表实现打印产品标签

    目录 0. 背景说明 1. 条形码生成 2. 获取产品的小程序码 3. 报表设计器设计标签模版 3.1 为WinForm控件工具箱添加ReportViewer控件 3.2 为VS2019安装RDLC报 ...

  5. javascript 获取<td>标签内的值。

    当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. 通过可编程的对象模型,JavaScript 获得了足够的能力来 ...

  6. gin框架中全局跨域请求处理设置

    跨域访问的问题 OPTIONS请求 全局跨域访问中间件 // 跨域访问:cross origin resource share func Cors() gin.HandlerFunc { return ...

  7. golang中的go get命令

    ### 下载指定版本 go get k8s.io/klog@v1.0.0 go get 命令可以借助代码管理工具通过远程拉取或更新代码包及其依赖包,并自动完成编译和安装. 这个命令在内部实际上分成了两 ...

  8. 西安腾讯DevOps面试题python算法输出列表数值下界

    给定一个列表,然后给一个目标值,列表中两数求和等于目标值,要求输出列表两数的下界 如 list = [1,2,3,4,6,7,8] num=10 #!/usr/bin/python #coding=u ...

  9. python引用列表--10

    #!/usr/bin/python #coding=utf-8 #好好学习,天天向上 python=["a","b","c","d ...

  10. python25day

    内容回顾 面向对象的回顾 类 对象 怎么用 怎么继承 pickle模块 今日内容 继承(进阶的知识点) 经典类和新式类 python3所有类都继承object类 所有继承object的类都是新式类 不 ...