第一种方法:将数字转换成字符串进行处理
index | 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 |
howmany | 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 |
item1, ..., itemX | 可选。向数组添加的新项目。 |
function formatNumber(num) { var decimalPart = ''; num = num.toString(); if (num.indexOf('.') != -1) { decimalPart = '.' + num.split('.')[1]; num = parseInt(num.split('.')[0]); } var array = num.toString().split(''); var index = -3; while (array.length + index > 0) { // 从单词的最后每隔三个数字添加逗号 array.splice(index, 0, ','); index -= 4; } return array.join('') + decimalPart; };
第二种方法:用正则表达式进行匹配
/** * 正则表达式的含义: * \b 表示单词间隔 如 i am here \bhere\b, 如果是 iamhere 则用 \bhere\b不能匹配here,只能用here匹配 * \B 和 \b相反,类似\d \D的关系。 \B表示非单词间隔上面的例子 iamhere如果用\Bhere 则可以匹配 * (?=(\d{3})+(?!\d)) 意思连续三位为数字,且满足最后一位不是数字,也就是单词结尾了,所以能做到单词往前推三位加上逗号 */
function formatNumberRgx(num) { var parts = num.toString().split("."); parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","); return parts.join("."); };
正则表达式解析:
/\B(?=(\d{3})+(?!\d))/g
先把上面这个表达式的结构解析为如下形式:/x(?=y)/g 。其中 g 代表全局匹配,x(?=y) 匹配x当且仅当x 后面是 y ,x 代表 \B ,y 代表 (\d{3})+(?!\d)。\B 匹配非单词边界,两边都是单词字符或者两边都是非单词字符,形如:\w\B\w 或者 \W\B\W 。(\d{3})+(?!\d) 又可以解为: x(?!y),匹配x 当且仅当 x 后面不是 y 。其中 x 代表 (\d{3})+,y代表 \d。(\d{3})+ 匹配三个数字,出现次数>=1。
第三种方法:使用原生函数。
number.toLocaleString();
注意:
第三种方法并不支持所有浏览器,在FireFox和Safari中无效。
详见
相关推荐
在JavaScript中实现金额数字每三位一逗号分隔的功能是一个常见的编程需求,尤其在财务相关的Web应用开发中。这种功能通常被称为金额格式化,目的是将数字按照人眼习惯的格式来显示,即千分位使用逗号分隔。本文将...
千分符(也称为分隔符)通常是一个逗号或句点,用于每三位数字之间,使得数字更易读。例如,数字1234567890经过千分符格式化后,会变为1,234,567,890。 在JavaScript中,我们可以使用内置的`toLocaleString()`方法...
对于较大数字,添加千分号可以方便快速地读出数值。千分号是指从最右边开始,每隔三位加个逗号。这种写法很广泛,来源大概是因为英文中 Thousand,千、million,百万、billion,十亿 都是隔三位的。在这里我们使用php...
在Vue.js中,为了使大数字更易于阅读,通常会使用千位分隔符格式化。这涉及到在数字字符串中插入逗号,以便每三位数字一组进行分隔。在提供的文档中,我们看到一个名为`numberToCurrency.js`的文件,它包含了一个名...
在给定的场景中,我们需要处理三种类型的数字:整数、带有小数点的数字以及负数,并且需要确保输入是有效的数字字符串。 首先,我们需要了解`DecimalFormat`类。它是`java.text`包下的一个类,主要用于格式化十进制...
当你有一个数组或多个独立的字符串,想要将它们合并成一个用逗号分隔的单一字符串时,可以使用`join()`方法。例如: ```javascript let strArray = ['苹果', '香蕉', '橙子']; let commaSeparatedStr = strArray....
`jQuery数字格式化分隔符代码`提供了一种高效的方法,将大数字转换为更易读的形式,通过添加分隔符如逗号或空格来提高可读性。这个插件允许开发者自定义分隔符,满足不同场景的需求。 首先,我们来理解jQuery的核心...
这个过程可以通过使用JavaScript内置的方法join()来轻松实现。join()方法在Array对象上被定义,它可以将数组的所有元素放入一个字符串中,并通过指定的分隔符来分隔每个元素。 ### join()方法的基本使用 join()...
在IT领域,尤其是在软件开发与编程中,C#作为一种广泛使用的高级编程语言,其灵活性和功能强大性使得它成为处理各种数据格式的理想选择。本文将深入探讨如何在C#中实现千位分隔符的功能,并提供一个实际的代码示例,...
我们使用正则`/(\d{3})(\d{4})(\d{4})/`匹配连续的3、4、4位数字,并用`$1 $2 $3`将它们替换,中间插入空格,从而达到格式化的效果。如果输入不符合手机号码规则,我们则清空输入框。 为了提高用户体验,可以考虑...
中文数字从个位到高位依次是:一(1)、二(2)、三(3)、四(4)、五(5)、六(6)、七(7)、八(8)、九(9)、十(10)、百(100)、千(1000)、万(10000)、亿(100000000)。而阿拉伯数字则是0-9这十个...
在Android开发中,有时我们需要创建特定格式的输入框,例如每输入四个数字就自动添加一个分隔符,这种功能在电话号码或者信用卡号输入时尤为常见。本篇将详细讲解如何实现这样一个“每四个数字分隔输入框”的功能。 ...
本demo就是一个用逗号“,”每隔3个字符来分隔数字的功能;比如这样:123,456,789.34 .
Javascript 将数值转换为金额格式(分隔千分位和自动...我们讨论了三种实现方式:使用 replace() 方法和正则表达式、使用循环方式和使用正则表达式方式。每种方式都有其优缺点,开发者可以根据实际情况选择合适的方式。
jquery-number-divider是一款jquery数字格式化分隔符插件。该数字格式化插件可以按指定格式对大数字进行分隔,可以指定分隔符,是一款简单实用的数字格式化插件。 安装 可以通过bower来安装number-divider.js数字...
千位分隔符是一种通用的数字表示方式,它用逗号或空格将数字每三位分隔开来,使得大数字更容易阅读。例如,数字"123456789"会被格式化为"123,456,789"或"123 456 789"。在财务和统计报表中,这种格式很常见。 这个...
本文介绍了一种使用JavaScript实现数字格式化的方法,即将数字转换为带有三位逗号分隔的样式。 在上述提供的内容中,展示了如何使用正则表达式配合循环替换实现数字的格式化。以下是对该内容的知识点详细解析: ...
### JavaScript 实现数字转换为千位分隔符格式 #### 功能概述 本文将详细介绍一个JavaScript函数,该函数用于将数字转换成带有千位分隔符的格式,使得数字更易于阅读。例如,将数字`123456789`转换为`123,456,789`...
千分位分隔通常使用`DecimalFormat`类,它可以格式化数字,将其转换为带有千分位分隔符的字符串。例如,输入的数字1234567会被格式化成"1,234,567"。我们需要在`afterTextChanged`中捕获到输入的文本,然后用`...