js - 数字转中文
js - 数字转中文
JavaScript 中将阿拉伯数字转换为中文
转换代码
var _change = {
ary0: ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'],
ary1: ['', '十', '百', '千'],
ary2: ['', '万', '亿', '兆'],
init: function(name) {
this.name = name
},
strrev: function() {
var ary = []
for (var i = this.name.length; i >= 0; i--) {
ary.push(this.name[i])
}
return ary.join('')
},
pri_ary: function() {
var $this = this
var ary = this.strrev()
var zero = ''
var newary = ''
var i4 = -1
for (var i = 0; i < ary.length; i++) {
if (i % 4 == 0) {
//首先判断万级单位,每隔四个字符就让万级单位数组索引号递增
i4++
newary = this.ary2[i4] + newary //将万级单位存入该字符的读法中去,它肯定是放在当前字符读法的末尾,所以首先将它叠加入$r中,
zero = ''
//在万级单位位置的“0”肯定是不用的读的,所以设置零的读法为空
}
//关于0的处理与判断。
if (ary[i] == '0') {
//如果读出的字符是“0”,执行如下判断这个“0”是否读作“零”
switch (i % 4) {
case 0:
break //如果位置索引能被4整除,表示它所处位置是万级单位位置,这个位置的0的读法在前面就已经设置好了,所以这里直接跳过
case 1:
break
case 2:
break
case 3:
break
if (ary[i - 1] != '0') {
zero = '零'
}
//如果不被4整除,那么都执行这段判断代码:如果它的下一位数字(针对当前字符串来说是上一个字符,因为之前执行了反转)也是0,那么跳过,否则读作“零”
break
}
newary = zero + newary
zero = ''
} else {
//如果不是“0”
newary = this.ary0[parseInt(ary[i])] + this.ary1[i % 4] + newary
//就将该当字符转换成数值型,并作为数组ary0的索引号,以得到与之对应的中文读法,其后再跟上它的的一级单位(空、十、百还是千)最后再加上前面已存入的读法内容。
}
}
if (newary.indexOf('零') == 0) {
newary = newary.substr(1)
}
//处理前面的0
return newary
}
//倒转字符串。
}
//创建class类
function change() {
this.init.apply(this, arguments)
}
change.prototype = _change
// console.log(new change("10086").pri_ary()) // 一万八十六
chatgpt
JavaScript 中将阿拉伯数字转换为中文
function toChineseNum(num) {
let chnNumChar = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九"];
let chnUnitSection = ["", "万", "亿", "万亿", "亿亿"];
let chnUnitChar = ["", "十", "百", "千"];
let strIns = '', chnStr = '';
let unitPos = 0;
let zero = true;
while (num > 0) {
let v = num % 10;
if (v === 0) {
if (!zero) {
zero = true;
chnStr = chnNumChar[v] + chnStr;
}
} else {
zero = false;
strIns = chnNumChar[v];
strIns += chnUnitChar[unitPos];
chnStr = strIns + chnStr;
}
unitPos++;
num = Math.floor(num / 10);
}
return chnStr;
}
toChineseNum(111180) // '一undefined一undefined一千一百八十'
js - 数字转中文的更多相关文章
- JS 数字 、中文、 英文、判断
<pre name="code" class="html">单独的验证: 利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中 ...
- JS数字转中文
function number2Chinese(n) { if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) return '数据非法'; let unit = '京亿万仟佰 ...
- JS将数字转换为中文
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JS URL传中文参数引发的乱码问题
今天的项目中碰到了一个乱码问题,从JS里传URL到服务器,URL中有中文参数,服务器里读出的中文参数来的全是“?”,查了网上JS编码相关资料得以解决. 解决方法一: 1.在JS里对中文参数进行两次转码 ...
- js数字验证
1.JS判断只能是数字和小数点 1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g, ...
- 好用的jquery.animateNumber.js数字动画插件
在做公司的运营报告页面时,有一个数字累计增加的动画效果,一开始,毫无头绪,不知如何下手,于是上网查资料,发现大多都是用的插件来实现的,那么今天,我也来用插件jquery.animateNumber.j ...
- Firebug中调试中的js脚本中中文内容显示为乱码
Firebug中调试中的js脚本中中文内容显示为乱码 设置 页面 UFT-8 编码没用, 解决方法:点击 "Firebug"工具栏 中的"选项"---" ...
- js数字位数太大导致参数精度丢失问题
最近遇到个比较奇怪的问题,js函数里传参,传一个位数比较大,打印arguments可以看到传过来的参数已经改变. 然后查了一下,发现确实是js精度丢失造成的.我的解决方法是将数字型改成字符型传输,这样 ...
- 超简单的js数字验证
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...
- JS数字键盘
JS数字键盘,JS小键盘 CSS代码: #numberkeyboard { border: 1px solid #b3b3b3; background: #f2f3f7; height: 285px; ...
随机推荐
- GIT安装步骤记录以及Git 常用命令,忽略文件,推送本地代码到仓库示例以及报错解决
下载 下载地址 git-scm.com 或 gitforwindows.org 安装(凡是下面没有给出图片的,都按默认选项就行) 选择安装组件 调整你的 path 环境变量 第一种是仅从 Git Ba ...
- IntelliJ中高效重构的 10 个快捷方式
前言 在日常的开发工作中,我们经常需要重构,重构可以让我们写出的代码更上一层楼.所以,我会借助IntelliJ提供的一些功能,帮助我高效进行重构.这里是我推荐10个快捷方式,也是我每天都在使用的,非常 ...
- 一把梭:REST API 全用 POST(转载)
一把梭:REST API 全用 POST(转载) 原文链接: https://coolshell.cn/articles/22173.html 写这篇文章的原因主要还是因为V2EX上的这个贴子,这个贴 ...
- Maven配置 阿里云镜像地址
<?xml version="1.0" encoding="UTF-8"?> <settings> <mirrors> &l ...
- JAVA虚拟机12--Class文件结构-属性表
1 属性表 1.1 简介 属性表(attribute_info)在前面的讲解之中已经出现过数次,Class文件.字段表.方法表都可以携带自己的属性表集合,以描述某些场景专有的信息. <Java虚 ...
- 2211-14MongoDB学习
学习资源来自菜鸟教程 MongoDB数据库 MongoDB概念解析 不管我们学习什么数据库都应该学习其中的基础概念,在mongodb中基本的概念是文档.集合.数据库,下面我们挨个介绍. 下表将帮助您更 ...
- 让你VS Code的通过插件扩展,拥有了三头六臂
VS Code 有一个很强大的功能就是支持插件扩展,让你的编辑器仿佛拥有了三头六臂. 安装 VS Code 插件 提醒:当完成了vscode这些配置后,当我们换一台电脑时,不会还得重新配置吧?放心,我 ...
- vue2.x中关于引用图片的问题
vue中引用图片的几种情况 错误片段一 <!-- template --> <img :src="p" alt="" width=" ...
- [NOI Online 2022 提高组] 如何正确地排序
\(\text{Solution}\) 当 \(m=2\) 时,\(ans=2n\sum a_{i,j}\) 当 \(m=3\) 时 当然先套路地考虑某一行的贡献,记为第 \(x\) 行 则当取 \( ...
- CyNix: 1
CyNix: 1 目录 CyNix: 1 1 信息收集 1.1 端口扫描 1.2 后台目录扫描 1.2.1 目录分析 2 GetShell 2.1 赋予id_rsa文件600权限,否则会报错,无法连接 ...