//计算出值 四舍五入,精确到小数点后2位
function formatPrice(src, pos){
return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);
}
//保留n位小数
function formatNum(num,n){
num = String(num.toFixed(n));
var re = /(\d+)(\d{3})/;
return num.replace(re,"$1,$2");
}
//转换成字符串
function all(per,count){
return per*count;
}
// 当计算单价×数量并将结果显示在总价input中
/**
* index 为索引值
* p_ 为单价属性id的命名空间
* c_ 为数量属性id的命名空间
* a_ 为总价属性id的命名空间
*/
function calculate(index){
var pricePer = document.getElementById('p_'+index).value;
var count = document.getElementById('c_'+index).value;
var sumPrice = document.getElementById('a_'+index);
var val = /^\d+(\.\d+)?$/;
if(!val.test(pricePer)){
alert('参考单价必须为数字且非负数!');
document.getElementById('p_'+index).value="";
document.getElementById('a_'+index).value="";
document.all.item('p_' + index).focus();
}
if(!val.test(count)){
alert('数量必须为数字且非负数!');
document.getElementById('c_'+index).value="";
document.getElementById('a_'+index).value="";
document.all.item('c_' + index).focus();
}
if(val.test(pricePer)&&val.test(count))
// 货币显示格式
// 字符串格式,方便后台解析成数组
sumPrice.value = formatNum(all(formatPrice(pricePer,2),count),2);
}
最后在所有input 的onchange方法中调用
<td align="center">
<input type="text" name="p_${index}" id="p_${index}" onchange="calculate('${index}')"/>
</td>
<td align="center">
<input type="text" name="c_${index}" id="c_${index}" onchange="calculate('${index}')"/>
</td>
<td align="center">
<input type="text" name="a_${index}" id="a_${index}" onchange="calculate('${index}')"/>
</td>
分享到:
相关推荐
一个用js写的,对页面货币格式进行格式化的js
currencyFormatter.js是一款简单实用的纯js格式化货币插件。该插件包含155种不同国家的货币,以及715种不同语言的本地化设置。它还能处理某些不采用的货币,功能非常强大。
currency.js是一款 js处理货币格式格式插件。currency.js提供非常灵活的api来帮助您解决javascript中的浮点数问题,并提供格式化货币数值功能,使用起来非常方便。
javascript数字格式化为货币字符,数字格式化为大写货币函数
accounting.js是什么,金钱和货币格式一个微小的JavaScript库,使用可选的Excel风格的列渲染(排队符号和小数)。它的重量轻,完全可本地化和具有零依赖性。 演示地址:http://www.jq22.com/jquery-info326
JS对货币余额格式化为标准格式,最终结果是以英文逗号分隔,并且可以保存一位或者两位小数
currencyFormatter.js是一款简单实用的纯js格式化货币插件。该插件包含155种不同国家的货币,以及715种不同语言的本地化设置。它还能处理某些不采用的货币,功能非常强大。
采用js实现具有复杂字符串的格式化操作类库函数,采用纯js实现,可以对含有正则表达式以及日期,货币等字符串进行格式标准化解析操作。
currencyFormatter.js是一款简单实用的纯js格式化货币插件。该插件包含155种不同国家的货币,以及715种不同语言的本地化设置。它还能处理某些不采用的货币,功能非常强大。
将浮点型数用美元符号和货币符号输出,用格式化的方式。还包括浮点型数据相除时,格式化输出结果。
jQuery文本输入框内容格式化代码是一款支持日期格式,手机号码,时间格式(小时),带区号的座机号码,美国电话号码,地区号码,混合类型,邮政编码,货币等文字格式化插件。
geld是最小的货币格式化程序。 安装 使用 : npm install geld --save 使用: yarn add geld 用法 const geld = require ( 'geld' ) ; const price1 = geld ( 42.23 ) ; console . log ( price1 ) ; // => '42,23...
currency.js是一个用于货币符号格式化的非常小的 JavaScript 库 (< 1kb> currency = require ( './currency.js' )> currency . symbolize ( "USD" )'$'> currency . symbolize ( "BGN" )'лв'> currency . ...
* jquery.formatmoney.js * Version 1.0 * Last Modified: 2009-08-12 * author: yuyoufa * * Copyright (c) 2009 www.chinaandroid.com * 本插件允许您免费使用,不论是否用于商业范畴. * 在你使用、拷贝过程中...
货币数据想要一某种形式在页面中显示的话,首先是必须要格式化的,下面为大家介绍下具体的格式化代码,感兴趣的朋友可以参考下
键入时格式化 基于语言环境的,基于ISO的货币格式,基于 无干扰(隐藏焦点格式以便于输入) 允许将值作为整数处理,以实现全精度 自动十进制模式(使用最后输入的数字作为十进制数字自动插入十进制符号) 内置值...
js 写的string format函数,功能模仿C#中的string.Format方法,已实现(整数 :D、小数:F、货币数字:C、科学计数:E 等4种)数字格式化。参数可以传递数组,也可以传多个参数。
介绍: 这个货币转换JS代码,可以实现自动格式化输入的数字,自动千位分隔符。
v-currency一个用于在Vue.js中格式化货币的插件用法Vue.use(Currency,{“ type”:“ USD”,“ thousandSeparator”:true,}); 为了使用v vcurrency一个插件,用于格式化Vue.js中的货币用法Vue.use(Currency,...