`
Luob.
  • 浏览: 1584319 次
  • 来自: 上海
社区版块
存档分类
最新评论

js 钱大小写转换,和 数值格式化

阅读更多
var num=56.45678;
var rs1=num.toExponential(2);//rs1的值为5.65e+1
var rs2=num.toFixed(2);//rs的值为56.45
var rs3=num.toPrecision(2);//rs的值为56

function regInput(reg)
{
	var srcElem = event.srcElement
	var oSel = document.selection.createRange()
	oSel = oSel.duplicate()
	 
	oSel.text = ""
	var srcRange = srcElem.createTextRange()
	oSel.setEndPoint("StartToStart", srcRange)
	var num = oSel.text + String.fromCharCode(event.keyCode) + srcRange.text.substr(oSel.text.length)
	event.returnvalue = reg.test(num)
}

//转小写
function aNumber(num)
{
	var numArray = new Array()
	var unit = "亿万元$"
	for (var i=0; i<unit.length; i++)
	{
			var re = eval_r("/"+ (numArray[i-1] ? unit.charAt(i-1) : "") +"(.*)"+unit.charAt(i)+"/")
		if (num.match(re))
		{
			numArray[i] = num.match(re)[1].replace(/^拾/, "壹拾")
			numArray[i] = numArray[i].replace(/[零壹贰叁肆伍陆柒捌玖]/g, function ($1)
			{
				return "零壹贰叁肆伍陆柒捌玖".indexOf($1)
			})
			numArray[i] = numArray[i].replace(/[分角拾百千]/g, function ($1)
			{
				return "*"+Math.pow(10, "分角 拾百千 ".indexOf($1)-2)+"+"
			}).replace(/^\*|\+$/g, "").replace(/整/, "0")
			numArray[i] = "(" + numArray[i] + ")*"+Math.ceil(Math.pow(10, (2-i)*4))
		}
		else numArray[i] = 0
	}
	return eval_r(numArray.join("+"))
}

//转大写
function chineseNumber(num)
{
	if (isNaN(num) || num > Math.pow(10, 12)) return ""
	var cn = "零壹贰叁肆伍陆柒捌玖"
	var unit = new Array("拾百千", "分角")
	var unit1= new Array("万亿", "")
	var numArray = num.toString().split(".")
	var start = new Array(numArray[0].length-1, 2)
	function toChinese(num, index)
	{
		var num = num.replace(/\d/g, function ($1)
		{
			return cn.charAt($1)+unit[index].charAt(start--%4 ? start%4 : -1)
		})
		return num
	}
	for (var i=0; i<numArray.length; i++)
	{
		var tmp = ""
		for (var j=0; j*4<numArray[i].length; j++)
		{
		var strIndex = numArray[i].length-(j+1)*4
		var str = numArray[i].substring(strIndex, strIndex+4)
		var start = i ? 2 : str.length-1
		var tmp1 = toChinese(str, i)
		tmp1 = tmp1.replace(/(零.)+/g, "零").replace(/零+$/, "")
		tmp1 = tmp1.replace(/^壹拾/, "拾")
		tmp = (tmp1+unit1[i].charAt(j-1)) + tmp
		}
		numArray[i] = tmp
	}
	numArray[1] = numArray[1] ? numArray[1] : ""
	numArray[0] = numArray[0] ? numArray[0]+"元" : numArray[0], numArray[1] = numArray[1].replace(/^零+/, "")
	numArray[1] = numArray[1].match(/分/) ? numArray[1] : numArray[1]+"整"
	return numArray[0]+numArray[1]
}
分享到:
评论

相关推荐

    JS人民币转换大小写人民币大小写转换

    在JavaScript(JS)编程中,有时我们需要将数字格式的人民币金额转换为中文大写的表示方式,这在财务系统或者电商平台上十分常见。人民币大写转换主要用于财务报表、发票和银行单据,确保金额的准确性和规范化。下面...

    JSON格式化小公具

    总的来说,JSON格式化小工具是处理JSON数据时不可或缺的辅助工具,它极大地提升了我们处理复杂数据的效率和准确性。对于任何涉及JSON工作的人来说,熟练掌握并利用这类工具将极大地提升工作效率,减少因数据格式问题...

    金额大小写换算.

    在IT行业中,尤其是在财务软件和办公自动化领域,金额大小写转换是一个常见的需求。这个小工具显然是为了解决这个问题,将数字金额转换成我们日常在发票、支票等正式财务文档中使用的中文大写数字。在中文会计和法律...

    js实现完美兼容各大浏览器的人民币大小写相互转换

    在JavaScript中,人民币大小写的相互转换是一个常见的需求,特别是在金融或者电子商务相关的应用中。这个话题主要涉及以下几个知识点: 1. **变量声明与赋值**: - `var xcc = "12.22"` 是定义一个变量 `xcc` 并...

    正则一则 将金额转换成人民币大写的代码

    接着,`money`被转换为字符串`s`,使用`ToString`方法,格式化字符串`"#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A"`。这里的每个字符代表一个特定的数字位置,例如`L`代表万,`E`代表亿等,而...

    华为OD机试C卷- 字符统计及重排(Java & JS & Python).md-私信看全套OD代码及解析

    任务是统计该字符串中每一个字母(区分大小写)出现的次数,并根据这些字母出现的次数进行排序输出。若多个字母出现次数相同,则需进一步根据字母的自然顺序进行排序,并确保小写字母始终位于大写字母之前。 #### ...

    JavaScript小技巧

    JavaScript提供了多种方式来处理不同进制之间的转换,这对于处理数据格式化等问题非常有用。 - **十六进制转换**:`(int).toString(16);`,将整数转换为十六进制表示,如12转换为"C"。 - **八进制转换**:`(int)....

    javascript小结

    ### JavaScript小结 #### BOM(Browser Object Model):浏览器对象模型 ...以上总结了给定文件中的主要内容,包括BOM、大小写转换、正则表达式、Window窗口对象、Number对象、Object对象、String对象及其方法等内容。

    JavaScript实战

    4.2.2 改变字符串的大小写 80 4.2.3 查找一个字符串:indexOf( )技术 81 4.2.4 使用slice( )提取字符串的一部分 83 4.3 在字符串中查找模式 84 4.3.1 创建和使用基本的正则表达式 84 4.3.2 构建一个正则表达式 85 ...

    JavaScript宝典 js开发

    #### 六、字符串大小写转换 `document.getElementById("output").value = document.getElementById("input").value.toUpperCase();`:此例展示了如何通过JavaScript获取一个输入框的值,并将其转换成大写形式再赋值...

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    1.运行环境 本书7~10章所附代码的运行环境 Windows家族,.NET Framework 2.0及以上版本 IIS 5.0及以上版本 本书14~16章所附代码的... JSPExample13.jsp 字符串大小写转换、反转等操作 logon.html 页面...

    JavaScript笔记1

    1. **大小写敏感**:JavaScript是大小写敏感的,因此`Var`和`var`是不同的。 2. **语句结尾**:虽然不是必须的,但在每个语句末尾加上分号是个好习惯,有助于避免一些潜在的错误。 3. **注释**: - 单行注释使用`//...

    json转换c#实体类代码

    在.NET开发环境中,C#是一种常用的编程语言,而JSON(JavaScript Object Notation)则是一种轻量级的数据交换格式,广泛应用于Web服务和客户端之间的数据传输。将JSON转换为C#实体类是常见的需求,特别是在处理API...

    JavaScript笔记

    |--x.toLowerCase()、x.toUpperCase():大小写转换方法; |--x.charAt(index):返回指定位置的字符; |--x.charCodeAt(index):返回指定位置字符的Unicode编码; |--x.indexOf(findstr,index)、x.lastIndexOf...

    excel2json-master_C++excel转json_

    C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持过程化编程,也支持面向对象编程的程序设计语言。它的强大之处在于对底层硬件的控制力和高效性,这使得C++成为开发系统级软件、游戏引擎和高性能应用...

    apache common-lang

    - `NumberUtils`:提供了数值类型的转换、比较和格式化功能,包括整数、浮点数和复数。 7. **反射工具**: - `ReflectionUtils`:提供了反射相关的便利方法,可以方便地获取和设置字段、调用方法等。 8. **异常...

    angularpipes实用和公共的Angular管道

    Angular提供了一些内置管道,如`date`、`currency`、`uppercase`等,用于日期格式化、货币转换和字符串大小写转换。 二、angular-pipes库介绍 "angular-pipes" 库为开发者提供了更多的自定义管道选择,以满足项目中...

Global site tag (gtag.js) - Google Analytics