数字,金额格式
2016-06-19 14:08
302 查看
!!!!!!!!!!!!!!!!!!!!!!!!!!!数字格式化为金额格式!!!!!!!!!!!!!!!!!!!!
例如:
12345格式化为12,345.00
12345.6格式化为12,345.60
12345.67格式化为 12,345.67
只留两位小数
function fmoney(s, n)
{
n = n > 0 && n <= 20 ? n : 2;
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
var l = s.split(".")[0].split("").reverse(),
r = s.split(".")[1];
t = "";
for(i = 0; i < l.length; i ++ )
{
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
}
return t.split("").reverse().join("") + "." + r;
}
调用:fmoney("12345.675910", 3),返回12,345.676
js处理数字保留2位小数,强制保留2位小数不够补上.00
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
<script type="text/javascript" src="js/jq.js"></script>
</head>
<script type="text/javascript">
//保留两位小数
//功能:将浮点数四舍五入,取小数点后2位
function toDecimal(x) {
var f = parseFloat(x);
if (isNaN(f)) {
return;
}
f = Math.round(x*100)/100;
return f;
}
//制保留2位小数,如:2,会在2后面补上00.即2.00
function toDecimal2(x) {
var f = parseFloat(x);
if (isNaN(f)) {
return false;
}
var f = Math.round(x*100)/100;
var s = f.toString();
var rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
s += '.';
}
while (s.length <= rs + 2) {
s += '0';
}
return s;
}
function fomatFloat(src,pos){
return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);
}
document.write("四舍五入 <br/>")
document.write("3.14159267保留2位小数:" + toDecimal(3.14159267)+"<br/>");
document.write("3.14159267强制保留2位小数:" + toDecimal2(3.14159267)+"<br/>");
document.write("3.14159267保留2位小数:" + toDecimal(3.14559267)+"<br/>");
document.write("3.14159267强制保留2位小数:" + toDecimal2(3.15159267)+"<br/>");
document.write("3.14159267保留2位小数:" + fomatFloat(3.14559267, 2)+"<br/>");
document.write("3.14159267保留1位小数:" + fomatFloat(3.15159267, 1)+"<br/>");
document.write("五舍六入 <br/>")
document.write("1000.003保留2位小数:" + 1000.003.toFixed(2)+"<br/>");
document.write("1000.08保留1位小数:" + 1000.08.toFixed(1)+"<br/>");
document.write("1000.04保留1位小数:" + 1000.04.toFixed(1)+"<br/>");
document.write("1000.05保留1位小数:" + 1000.05.toFixed(1)+"<br/>");
document.write("科学计数 <br/>")
document.write(3.1415+"科学技术后:"+3.1415.toExponential(2)+"<br/>");
document.write(3.1455+"科学技术后:"+3.1455.toExponential(2)+"<br/>");
document.write(3.1445+"科学技术后:"+3.1445.toExponential(2)+"<br/>");
document.write(3.1465+"科学技术后:"+3.1465.toExponential(2)+"<br/>");
document.write(3.1665+"科学技术后:"+3.1665.toExponential(1)+"<br/>");
document.write("精确到n位,不含n位 <br/>")
document.write("3.1415精确到小数点第2位" + 3.1415.toPrecision(2)+"<br/>");
document.write("3.1455精确到小数点第3位" + 3.1465.toPrecision(3)+"<br/>");
document.write("3.1445精确到小数点第2位" + 3.1415.toPrecision(2)+"<br/>");
document.write("3.1465精确到小数点第2位" + 3.1455.toPrecision(2)+"<br/>");
document.write("3.166592679287精确到小数点第5位" + 3.141592679287.toPrecision(5)+"<br/>");
</script>
<body>
<input type="text" id="Score" />
</body>
</html>
js数字金额大写转换
<script>
/** 数字金额大写转换(可以处理整数,小数,负数) */
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(/^整$/, '零元整');
};
console.log(digitUppercase(12.3));
</script>
js 填写银行卡号时,每4个数字用空格隔开
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<script src="js/jQuery.js"></script>
</head>
<body>
<script>
var num = 0;
function inputAccount(){
var str = $('#bankCard').val();
var elem = document.getElementById("bankCard");
console.log(elem);
if(str.length > num){
var c = str.replace(/\s/g, "");
if(str != "" && c.length > 4 && c.length % 4 == 1){
$('#bankCard').val(str.substring(0, str.length - 1)+ " " + str.substring(str.length - 1, str.length));
}
}
if(elem.setSelectionRange){//W3C
setTimeout(function(){
elem.setSelectionRange(elem.value.length,elem.value.length);
elem.focus();
},0);
}else if(elem.createTextRange){//IE
var textRange=elem.createTextRange();
textRange.moveStart("character",elem.value.length);
textRange.moveEnd("character",0);
textRange.select();
}
num = str.length;
}
</script>
<input type="text" name="" oninput="inputAccount()" id="bankCard" />
</body>
</html>
例如:
12345格式化为12,345.00
12345.6格式化为12,345.60
12345.67格式化为 12,345.67
只留两位小数
function fmoney(s, n)
{
n = n > 0 && n <= 20 ? n : 2;
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
var l = s.split(".")[0].split("").reverse(),
r = s.split(".")[1];
t = "";
for(i = 0; i < l.length; i ++ )
{
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
}
return t.split("").reverse().join("") + "." + r;
}
调用:fmoney("12345.675910", 3),返回12,345.676
js处理数字保留2位小数,强制保留2位小数不够补上.00
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
<script type="text/javascript" src="js/jq.js"></script>
</head>
<script type="text/javascript">
//保留两位小数
//功能:将浮点数四舍五入,取小数点后2位
function toDecimal(x) {
var f = parseFloat(x);
if (isNaN(f)) {
return;
}
f = Math.round(x*100)/100;
return f;
}
//制保留2位小数,如:2,会在2后面补上00.即2.00
function toDecimal2(x) {
var f = parseFloat(x);
if (isNaN(f)) {
return false;
}
var f = Math.round(x*100)/100;
var s = f.toString();
var rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
s += '.';
}
while (s.length <= rs + 2) {
s += '0';
}
return s;
}
function fomatFloat(src,pos){
return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);
}
document.write("四舍五入 <br/>")
document.write("3.14159267保留2位小数:" + toDecimal(3.14159267)+"<br/>");
document.write("3.14159267强制保留2位小数:" + toDecimal2(3.14159267)+"<br/>");
document.write("3.14159267保留2位小数:" + toDecimal(3.14559267)+"<br/>");
document.write("3.14159267强制保留2位小数:" + toDecimal2(3.15159267)+"<br/>");
document.write("3.14159267保留2位小数:" + fomatFloat(3.14559267, 2)+"<br/>");
document.write("3.14159267保留1位小数:" + fomatFloat(3.15159267, 1)+"<br/>");
document.write("五舍六入 <br/>")
document.write("1000.003保留2位小数:" + 1000.003.toFixed(2)+"<br/>");
document.write("1000.08保留1位小数:" + 1000.08.toFixed(1)+"<br/>");
document.write("1000.04保留1位小数:" + 1000.04.toFixed(1)+"<br/>");
document.write("1000.05保留1位小数:" + 1000.05.toFixed(1)+"<br/>");
document.write("科学计数 <br/>")
document.write(3.1415+"科学技术后:"+3.1415.toExponential(2)+"<br/>");
document.write(3.1455+"科学技术后:"+3.1455.toExponential(2)+"<br/>");
document.write(3.1445+"科学技术后:"+3.1445.toExponential(2)+"<br/>");
document.write(3.1465+"科学技术后:"+3.1465.toExponential(2)+"<br/>");
document.write(3.1665+"科学技术后:"+3.1665.toExponential(1)+"<br/>");
document.write("精确到n位,不含n位 <br/>")
document.write("3.1415精确到小数点第2位" + 3.1415.toPrecision(2)+"<br/>");
document.write("3.1455精确到小数点第3位" + 3.1465.toPrecision(3)+"<br/>");
document.write("3.1445精确到小数点第2位" + 3.1415.toPrecision(2)+"<br/>");
document.write("3.1465精确到小数点第2位" + 3.1455.toPrecision(2)+"<br/>");
document.write("3.166592679287精确到小数点第5位" + 3.141592679287.toPrecision(5)+"<br/>");
</script>
<body>
<input type="text" id="Score" />
</body>
</html>
js数字金额大写转换
<script>
/** 数字金额大写转换(可以处理整数,小数,负数) */
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(/^整$/, '零元整');
};
console.log(digitUppercase(12.3));
</script>
js 填写银行卡号时,每4个数字用空格隔开
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<script src="js/jQuery.js"></script>
</head>
<body>
<script>
var num = 0;
function inputAccount(){
var str = $('#bankCard').val();
var elem = document.getElementById("bankCard");
console.log(elem);
if(str.length > num){
var c = str.replace(/\s/g, "");
if(str != "" && c.length > 4 && c.length % 4 == 1){
$('#bankCard').val(str.substring(0, str.length - 1)+ " " + str.substring(str.length - 1, str.length));
}
}
if(elem.setSelectionRange){//W3C
setTimeout(function(){
elem.setSelectionRange(elem.value.length,elem.value.length);
elem.focus();
},0);
}else if(elem.createTextRange){//IE
var textRange=elem.createTextRange();
textRange.moveStart("character",elem.value.length);
textRange.moveEnd("character",0);
textRange.select();
}
num = str.length;
}
</script>
<input type="text" name="" oninput="inputAccount()" id="bankCard" />
</body>
</html>
相关文章推荐
- 深入学习activity之不同情况的生命周期
- 20145120《Java程序设计》课程总结
- 学习进度第十六周
- php 分页
- 手工简单制作一个PCB板(热传)
- 《老罗的Android之旅》导读PPT
- 批处理文件语法
- 芯片CS42448 音频DAC
- Win7系统怎么给文件夹加密码?文件夹加密教程
- Web前端教程-02.05.HTML列表、块和布局
- 芯片WM8759 音频DAC
- 系统分析与设计知识点总结
- 浅谈指针的特点
- Tomcat 学习进阶历程之启动脚本篇一:startup.bat
- 芯片74LCXR162245 (TI) 调整电平转换器
- 关于端口号同时被占用的问题
- 对ajax使用的一些感想
- 《数组》学习笔记
- 芯片TXS0108EPWR (TI) 高速电平转换器
- 设置linux网络配置