[js开源组件开发]数字或金额千分位格式化组件

数字或金额千分位格式化组件

这次距离上一个组件《[js开源组件开发]table表格组件》时隔了一个月,由于最近的项目比较坑,刚挖完坑,所以来总结性提出来几个组件弥补这次的空缺,首先是金额和数字的千分位和小数点控制的组件,它的作用主要是在输入框时限制输入的内容为数字。也可以用于普通标签的数字格式化,效果如下图:

demo演示地址请点击 http://www.lovewebgames.com/jsmodule/format-number.html

源码github托管地址请点击https://github.com/tianxiangbing/format-number

演示代码

<script src="../src/jquery-1.11.2.js"></script>
    <script src="../src/format-number.js"></script>
    <div>整数:<input type="text" data-type="int" data-name="int"/></div>
    <script>
        var n1 = new FormatNumber();
        n1.init({trigger:$(‘[data-type="int"]‘),decimal:0});
    </script>
    <div>整数可为负:<input type="text" data-type="int2" data-name="int"/></div>
    <script>
        var n2 = new FormatNumber();
        n2.init({trigger:$(‘[data-type="int2"]‘),decimal:0,minus:true});
    </script>
    <div>两位小数(默认):<input type="text" class="has-minus" value="1112212.221" data-type="number" data-name="as"/></div>
    <script>
        var n3 = new FormatNumber();
        n3.init({trigger:$(‘[data-type="number"]‘)});
    </script>
    <div>3位小数并且可为负数:<input type="text" data-name="pc" data-type="pecent"/></div>
    <script>
        var n4 = new FormatNumber();
        n4.init({trigger:$(‘[data-type="pecent"]‘),decimal:3,minus:true});
    </script>
    <div>4位小数并且不可为负数:<input type="text" data-name="pc" data-type="pecent2"/></div>
    <script>
        var n5 = new FormatNumber();
        n5.init({trigger:$(‘[data-type="pecent2"]‘),decimal:4});
    </script>
    <div>标签:123123123.13211=<span id="sp_number">123123123.13211</span></div>
    <script>
    $(‘#sp_number‘).FormatNumber({decimal:4})
    </script>

API

属性

trigger:dom|string

触发器元素,可为input或标签元素(span/div)

parent :dom|string

委托对象,由于本插件对事件的绑定都以委托为主,如不传,默认代理到body上

decimal: int

小数位数,默认2位

  

minus: bool

是否支持负数,默认为false不支持
时间: 2024-08-14 03:11:53

[js开源组件开发]数字或金额千分位格式化组件的相关文章

input组件中数字转成千分位的策略

在Web前端开发中input组件若只限制数字输入,并且希望将这些数字按照千分位隔开的话,那么我们可以通过一个js方法来实现,如下所示: toThousandsFormat(number) { if (number) { return '' } if (num.toString().trim() == '') { return '' } if (isNaN(number)) { return '' } number = parseFloat(number.toString().replace(/[

ios中数字的格式化(金额千分位格式化显示)

通过NSNumberFormatter,设置NSNumber输出的格式 NSNumberFormatter *formatter = [[NSNumberFormatteralloc]init]; formatter.numberStyle =NSNumberFormatterDecimalStyle; NSString *newAmount = [formatterstringFromNumber:[NSNumbernumberWithint:123456789]]; (注意传入参数的数据长度

js jquery版本的 金额千分位转换函数(非正则,效率极高)

没想到js里面没有 金额千分位格式化的处理函数(例:1,234.01 这样的格式),网上搜了一圈,都是使用正则的方式处理的.正则的效率不敢恭维啊,又耗费资源速度又慢(虽然处理起来会直观一些). 因此专门写了一个纯数值处理最后输出字符串个 金额千分位处理函数,并封装成jQuery函数包,处理时效率很高,可高频率的使用,直接上代码.还有min压缩版本可点击连接下载. 如果你不是jQuery环境,直接把源码拿出来,重新封装到自己的函数中能够就能用. 源码以及min包下载地址:jQuery.format

Js笔试题之千分位格式化

用js实现如下功能,将给定的数字转化成千分位的格式,如把“10000”转化成“10,000”,并考虑到性能方面的因素. 一.首先想到的办法,将数字转换为字符串(toString())再打散成数组(split),如果直接数字转换为数组,就是一整个放进去了,不能单独取到每一位.然后通过循环,逐个倒着把数组中的元素插入到新数组的开头(unshift),第三次或三的倍数次,插入逗号,最后把新数组拼接成一个字符串 n=1233456; toQfw(n); function toQfw(){ var arr

金额 千分位的分割方法

用js实现如下功能,将给定的数字转化成千分位的格式 字符串方式 function formatMoney(money) { //转为字符串 用字符串方法来实现 let str = money.toString(); let last = ''; //三位数以上的数据才进行格式化 while (str.length > 3) { //每次取末三位子字符串放到一个新的空字符串里并拼接上之前的末三位 //(slice第一个参数传负数,代表从尾部开始截取该个数) last = ',' + str.sli

JavaScript数值千分位格式化的两种方法

在对数值进行格式化的时候,一个常见的问题是按照千分位格式化,网上对这个问题已经有很多种解决方法了,还可以利用Array.prototype.reduce方法来实现千分位格式化. function formatNumber(num) { if (isNaN(num)) { throw new TypeError("num is not a number"); } var groups = (/([\-\+]?)(\d*)(\.\d+)?/g).exec("" + nu

js实现金额千分位显示

function numberFormat (number, decimals, decPoint, thousandsSep, roundtag) { /* * 参数说明: * number:要格式化的数字 * decimals:保留几位小数 * dec_point:小数点符号 * thousands_sep:千分位符号 * roundtag:舍入参数,默认 'ceil' 向上取,'floor'向下取,'round' 四舍五入 * */ number = (number + '').repla

从千分位格式化谈JS性能优化

所谓的千分位形式,即从个位数起,每三位之间加一个逗号.例如“10,000”.针对这个需求,我起初写了这样一个函数: // 方法一function toThousands(num) {var result = [ ], counter = 0;num = (num || 0).toString().split('');for (var i = num.length - 1; i >= 0; i--) {counter++;result.unshift(num[i]);if (!(counter %

c# 数字转成千分位字符串

首先要明确带了逗号之后  数字就变成字符串了 ,不再是数字了. 昨天做项目的时候需要格式化数字变成带逗号的,本来打算自己写个方法的,后来时间太紧了,就打算从网上查个,查来查去都是要对字符串的位进行操作,选了其中一个用了下,结果发现还有问题,瞬间无语 最中被我百度到了  这种写法   : C#中用最简单的方法把数字(不含小数)转换为千分位格式: 如1234567变成1,234,567 方法:x.ToString("###,###")   或  1234567.ToString("