基础参数:

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. Docker 安装并运行 Redis

    说明 在Windows下运行Redis主要有以下几种方式: 使用微软官方构建的Windows版Redis,最新版本是3.0.504,发布于2016-07-01.https://github.com/m ...

  2. xml文件 加载properties文件的两种方法与注意事项

    1.遇到的问题: 配置redisSpringContext.xml 时,遇到 properties加载失败,提示BeanDefinitionStoreException  和   java.lang. ...

  3. GORM学习指南

    orm是一个使用Go语言编写的ORM框架.它文档齐全,对开发者友好,支持主流数据库. 一.初识Gorm Github GORM 中文官方网站内含十分齐全的中文文档,有了它你甚至不需要再继续向下阅读本文 ...

  4. POJ3090Visible Lattice Points

    http://poj.org/problem?id=3090 对于此题,观测点的数目,从小规模开始观察,可以得到每一个点,由一根无限长的绳子,绕着原点旋转,得到的第一个点.换另外一个思路,每一个观察到 ...

  5. 基于Dapper的分布式链路追踪入门——Opencensus+Zipkin+Jaeger

    微信搜索公众号 「程序员白泽」,进入白泽的编程知识分享星球 最近做了一些分布式链路追踪有关的东西,写篇文章来梳理一下思路,或许可以帮到想入门的同学.下面我将从原理到demo为大家一一进行讲解,欢迎评论 ...

  6. 一文搞定 Windows Terminal 设置与 zsh 安装 (非WSL)

    为 Windows Terminal 添加标签页 添加 Anaconda 标签页 在settings.json文件中的list列表中添加设置项: { // Make changes here to t ...

  7. 51 Nod 1183 编辑距离 (动态规划基础)

    原题链接:1183 编辑距离 题目分析:这个最少的操作次数,通常被称之为编辑距离."编辑距离"一次本身具有最短的意思在里面.因为题目有"最短"这样的关键词,首先 ...

  8. JAVA-JDK1.7-ConCurrentHashMap-源码并且debug说明

    概述 在一个程序员的成长过程就一定要阅读源码,并且了解其中的原理,只有这样才可以深入了解其中的功能,就像ConCurrentHashMap 是线程安全的,到底是如何安全的?以及如何正确使用它?reha ...

  9. MySQL提权之mof提权

    mof提权原理 关于 mof 提权的原理其实很简单,就是利用了 c:/windows/system32/wbem/mof/ 目录下的 nullevt.mof 文件,每分钟都会在一个特定的时间去执行一次 ...

  10. xxe-lab学习

    0x00 前言 xxe-lab是一个一个包含php,java,python,C#等各种语言版本的XXE漏洞Demo这里附上下载链接https://github.com/c0ny1/xxe-lab我们用 ...