将数值四舍五入后格式化,带有千分位

简介:
<html>
<head>
</head>
<script>

	//保留几位小数
	function fmoney(obj, num) {
		return obj.value = formatNumber(obj.value, 2, 1);
	}
	/* 
	将数值四舍五入后格式化. 
	@param num 数值(Number或者string) 
	@param cent 要保留的小数位(Number) 
	@param isThousand 是否须要千分位 0:不须要,1:须要(数值类型); 
	@return 格式的字符串,如'1,234,567.45' 
	@type String 
	*/ 
	function formatNumber(num, cent, isThousand) {
		num = num.toString().replace(/\$|\,/g, '');
		if (isNaN(num))//检查传入数值为数值类型. 
			num = "0";
		if (isNaN(cent))//确保传入小数位为数值型数值. 
			cent = 0;
		cent = parseInt(cent);
		cent = Math.abs(cent);//求出小数位数,确保为正整数. 
		if (isNaN(isThousand))//确保传入是否须要千分位为数值类型. 
			isThousand = 0;
		isThousand = parseInt(isThousand);
		if (isThousand < 0)
			isThousand = 0;
		if (isThousand >= 1) //确保传入的数值仅仅为0或1 
			isThousand = 1;
		sign = (num == (num = Math.abs(num)));//获取符号(正/负数) 
		//Math.floor:返回小于等于其数值參数的最大整数 
		num = Math.floor(num * Math.pow(10, cent) + 0.50000000001);//把指定的小数位先转换成整数.多余的小数位四舍五入. 
		cents = num % Math.pow(10, cent); //求出小数位数值. 
		num = Math.floor(num / Math.pow(10, cent)).toString();//求出整数位数值. 
		cents = cents.toString();//把小数位转换成字符串,以便求小数位长度. 
		while (cents.length < cent) {//补足小数位到指定的位数. 
			cents = "0" + cents;
		}
		if (isThousand == 0) //不须要千分位符. 
			return (((sign) ?

'' : '-') + num + '.' + cents); //对整数部分进行千分位格式化. for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3)); return (((sign) ?

'' : '-') + num + '.' + cents); } </script> <input onblur="fmoney(this,2);" value="" /> <body> </body> </html>






本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5272769.html,如需转载请自行联系原作者

相关文章
|
1天前
|
数据采集 人工智能 安全
|
10天前
|
云安全 监控 安全
|
2天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
925 150
|
2天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1660 8
|
7天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
616 152
|
9天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
584 15
|
9天前
|
人工智能 自然语言处理 API
Next AI Draw.io:当AI遇见Draw.io图表绘制
Next AI Draw.io 是一款融合AI与图表绘制的开源工具,基于Next.js实现,支持自然语言生成架构图、流程图等专业图表。集成多款主流大模型,提供智能绘图、图像识别优化、版本管理等功能,部署简单,安全可控,助力技术文档与系统设计高效创作。
670 151