用JavaScript将数字转换为大写金额(收藏)
2024-08-20 18:32:21
(非原创, 来自网络,仅作收藏)
var digitUppercase = function(n) {
var fraction = ['角', '分'];
var digit = [
'零', '壹', '贰', '叁', '肆',
'伍', '陆', '柒', '捌', '玖'
];
var unit = [
['元', '万', '亿'],
['', '拾', '佰', '仟']
];
var head = n < 0 ? '欠' : '';
n = Math.abs(n);
var s = '';
for (var i = 0; i < fraction.length; i++) {
s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
}
s = s || '整';
n = Math.floor(n);
for (var i = 0; i < unit[0].length && n > 0; i++) {
var p = '';
for (var j = 0; j < unit[1].length && n > 0; j++) {
p = digit[n % 10] + unit[1][j] + p;
n = Math.floor(n / 10);
}
s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
}
return head + s.replace(/(零.)*零元/, '元')
.replace(/(零.)+/g, '零')
.replace(/^整$/, '零元整');
};
最新文章
- Redis之AOF备份
- A股中为什么有涨幅超过10%的
- MFC主窗口架构模型
- R语言连接MYSQL
- codeforces 430A Points and Segments (easy)(理解能力有待提高……)
- Swift正在使用NSURLConnection异步下载同步(实例解析)
- Java编程代码性能优化总结
- [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause 的问题 MySQL
- Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!
- ioc初步理解(一) 简单实用autofac搭建mvc三层+ioc(codeFirst)
- 探秘JS的异步单线程
- idea 通过命令操作git
- openwrt-scripts/config/mconf: Syntax error: “(” unexpected错误解决
- Exception:两个类具有相同的 XML 类型名称,请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称
- 【Oracle】PL/SQL 显式游标、隐式游标、动态游标
- Oracle 11.2.0.4.0 Dataguard部署和日常维护(7) - Dataguard Flashback篇
- Centos7快速安装haproxy
- 【起】ACM类下为过往所做过的部分算法题目
- notepad++支持自定义文件类型
- [LeetCode系列]爬梯问题的递归解法转换为迭代解法
热门文章
- elasticsearch 5.6.4自动创建索引与mapping映射关系 +Java语言
- declare命令
- 架构师养成记--33.Redis哨兵、redis简单事务
- OpenFoam+CFDEM+Liggghts安装耦合
- Hexo博客系列(二)-在多台机器上利用Hexo发布博客
- php 前台生成多维数组 后台批量添加
- C# 聊一聊屏保的设置
- 2018南京网络赛 - Skr 回文树
- SpringMVC的 @RestController和@Controller 区别
- 搭建django环境