JavaScript 数值转大写金额

为什么80%的码农都做不了架构师?>>>   hot3.png

此方法的参考位置记不清了,只做了一点儿修改

封装进个人工具库中,支持小数点后 3 位,使用方法参考 @uses


;(function(win) {'use strict';// 构造var Util = function() {this.version = '1.0';this.author = 'whoru.S.Q <whoru.sun@gmail.com>';this.link = '';};Util.fn = Util.prototype;// 公用辅助var doc = document;// ...../*** xx转大写金额(会计),精确到小数点后 3 位* @uses**     util.amountInWords(1235.123); => 壹仟贰佰叁拾伍元壹角贰分叁** @param  {integer|float} n* @return {}*/Util.fn.amountInWords = function(n) {var fraction = ['角', '分', ' '],digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'],unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];// 记录正负号var head = n < 0? '欠': '';n = Math.abs(n);// 角分x处理var s = '';for (var i = 0; i < fraction.length; i++) {var tmp = parseFloat(n * 10 * Math.pow(10, i)).toFixed(3).replace(/0+$/, '');s += (digit[Math.floor(tmp) % 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(/^整$/, '零元整');};//if (!(typeof util === 'undefined' && (win.util = new Util))) {win.utools = new Util();log.warn('`util` had used, please use `utools` instead.');}}(window));

 

其中

var tmp = parseFloat(n * 10 * Math.pow(10, i)).toFixed(3).replace(/0+$/, '');

涉及 JavaScript 浮点数计算的精度处理

如:

> 1.0 - 0.7 
0.30000000000000004
> (1.0 - 0.7).toFixed(3).replace(/0+$/, '');
"0.3"

 

转载于:https://my.oschina.net/antsky/blog/819986

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22637.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于 Docker 搭建 LAMP 环境(一 传统虚拟机形式)

为什么80%的码农都做不了架构师&#xff1f;>>> 1.获取镜像&#xff0c;启动容器 这里使用官方镜像 Ubuntu 16.04&#xff0c;采用加速器 daocloud.io 以解决国内访问 docker-hub 慢的问题&#xff0c;也可以采用阿里云镜像加速器 $ docker pull ubuntu:16.04 $ do…

基于 Docker 搭建 LAMP 环境(二 dockerfile)

为什么80%的码农都做不了架构师&#xff1f;>>> 此种方式将镜像的构建过程通过 Dockerfile 记录下来&#xff0c;并通过构建命令&#xff0c;构建最终镜像&#xff0c;便于对镜像的修改和管理。 但是此种方式&#xff0c;仍热是 Fat Container 形式&#xff0c;产生…

基于 shell 使用 expect 实现 SSH 自动登录远程服务器

为什么80%的码农都做不了架构师&#xff1f;>>> 相关知识点 expect expect 是一个免费的编程工具&#xff0c;用来实现自动的交互式任务&#xff0c;而无需人为干预。 说白了&#xff0c;expect 就是一套用来实现自动交互功能的软件。 在实际工作中&#xff0c;我们…

使用docker安装lamp

docker search - s 10 lamp #搜索被收藏或使用较多的LAMP镜像&#xff0c;小伙伴们都推荐使用tutum/lamp docker pull tutum / lamp #下载镜像 #使用默认方式启动LAMP docker run - d - p 8080 : 80 - p 3306 : 3306 tutum / lamp #友提&#xff0c;如果报bind:addr…

centos7安装最新版git_https://my.oschina.net/antsky/blog/514586

whoru 发表于 2年前 阅读 5961收藏 10点赞 1评论 1 腾讯云 普惠云计算 0门槛体验>>> 摘要: 介绍yum和源码包安装的具体方式 方式一、yum安装 # yum install git 通过yum方式安装&#xff0c;版本比较旧&#xff0c;CentOS6.5上安装好是1.7.1版。如果想安装最新版或…

vim 基础版配置

为什么80%的码农都做不了架构师&#xff1f;>>> 只包含一些最常用的基础配置&#xff0c;以改进 vim 的初始状态。 使用&#xff1a;拷贝以下内容到 ~/.vimrc 文件中&#xff0c;没有此文件请自行创建。 """""""""&q…

tmux 基本配置

为什么80%的码农都做不了架构师&#xff1f;>>> 将以下内容拷贝到 ~/.tmux.conf 文件中&#xff0c;没有此文件的请自行创建。 ############################################################ # Author: whoru.S.Q <whorusqiang.net> # Link: https://githu…

Linux 下 MySQL 自动备份脚本

为什么80%的码农都做不了架构师&#xff1f;>>> 源码 mysqlDump.sh #!/bin/bash ################################################ # TODO: 备份当前服务器上指定的数据库&#xff08;多个库&#xff0c;以 , 分隔&#xff09; # 示例&#xff1a; # ./mys…

Shell 脚本入门及语法速查

为什么80%的码农都做不了架构师&#xff1f;>>> [TOC] 1. Hello World 1.1. 基本结构 创建 helloWorld.sh 文件&#xff0c;写入如下内容&#xff1a; #!/bin/bashecho "hello world"其中 #! 告诉系统其后路径所指定的程序是解释此脚本文件的 Shell 程序…

Linux 文件管理命令

复制文件 命令(copy)&#xff1a; cp 源文件 目标文件/文件夹 cp -r 源文件夹 目标文件夹删除命令 命令(remove)&#xff1a; rm 文件1 文件2 文件2 ... rm -rf 文件夹1 文件夹2...远程连接 SSH 用于进行Linux的远程操作, 其原理为: 打包命令 tar 打包命令 tar -czvf 文…

jy-13-LINUX——Linux

目录&#xff1a; 1、day01-Linux-什么是Linux 2、day02-Linux-文件管理命令 3、day03-Linux &#xff0d;Windows SSH 客户端工具 4、Linux&#xff0d;下载命令wget 5、在linux下启动tomcat命令 张闹&#xff1a; 1、day01-Linux-什么是Linux 是一个OS&#xff0c;是Uni…

mysql数据库insert语句怎么写_mysql数据库中的insert语句解决方案

mysql数据库中的insert语句 数据库t_users中&#xff0c;包括三个字段user_id,user_name,user_password 其中 user_id设置为自动递增 为了实现注册功能 注册想就有两项 用户名和 密码 我写的sql语句是&#xff1a; insert into t_users values (?,?); 表明插入用户名和密码两…

修改Xshell字体大小和颜色

博客专区 > XManager的博客 > 博客详情 修改Xshell字体大小和颜色 XManager 发表于7个月前 分享到&#xff1a; 一键分享 QQ空间 微信 腾讯微博 新浪微博 QQ好友 有道云笔记 原 修改Xshell字体大小和颜色 收藏 XManager 发表于 7个月前阅读 849收藏 1点赞 0 评论 1 …

抽象类和抽象方法

抽象类 抽象类只能被继承&#xff0c;无法直接实例化。避免被直接实例化调用&#xff0c;相当于半成品&#xff0c;不能拿来直接使用。抽象方法 抽象方法只能定义&#xff0c;无法写方法体。后续继承后重写。 public abstract class Person{String name;int age;public void w…

基于openai打造公司内部知识库问答机器人

ChatGPT概念 OpenAI是一家AI研究和部署公司&#xff0c;开发了一个针对普通用户的ChatGPT的免费对话式AI机器人产品&#xff0c;该产品基于GPT-3.5模型&#xff0c;同时也推出了一个付费的ChatGPT Plus产品&#xff0c;该产品基于GPT-4模型。很明显&#xff0c;在国内是使用不…

稚晖君刚拿了百度投资,估值被曝已超独角兽

衡宇 发自 凹非寺 “华为天才少年”稚晖君创业项目&#xff0c;刚被百度风投投了&#xff01; 量子位获悉&#xff0c;稚晖君创业项目智元机器人&#xff0c;日前完成了第三轮融资&#xff0c;市场估值被曝在十几亿美元左右。 天眼查App显示&#xff0c;本轮新增股东包括李彦宏…

40亿个QQ号,限制1G内存,如何去重?

40亿个QQ号&#xff0c;限制1G内存&#xff0c;如何去重&#xff1f; 40亿个unsigned int&#xff0c;如果直接用内存存储的话&#xff0c;需要&#xff1a; 4*4000000000 /1024/1024/1024 14.9G &#xff0c;考虑到其中有一些重复的话&#xff0c;那1G的空间也基本上是不够用…

一次读完半本「三体」!GPT-4最强竞品突然升级10万token,啃论文代码演示全搞定...

视学算法报道 编辑&#xff1a;编辑部 【导读】GPT-4 32K还没用上&#xff0c;ChatGPT最强竞品已经秒读「了不起的盖茨比」了。 在GPT-4 32K还在内测阶段&#xff0c;OpenAI的劲敌直接把上下文长度打了上去。 就在今天&#xff0c;初创公司Anthropic宣布&#xff0c;Claude已…

自从Notion有了AI……

“Notion AI是一款极其强大且易于使用的工具&#xff0c;可以帮助您整理知识&#xff0c;撰写文档和记录笔记。它为您提供了一个可以实现简单快捷导航的用户界面&#xff0c;使您可以轻松访问和管理所有的文件和资源。它还提供了一系列强大的功能&#xff0c;包括个性化定制&am…

100 美元“骗走” 15% 股份?估值 10 亿美元的创业独角兽 Stability AI 联合创始人起诉 CEO...

整理 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 2022 年 8 月&#xff0c;一款名为 Stable Diffusion 的开源文本生成图像模型横空出世&#xff0c;惊艳四座。 一定程度&#xff0c;它的出现加速了 OpenAI 想更早推出 ChatGPT 的决心。 而就是这样一款…