之前看到一道面试题,要求使用js写千分位,当时面试时有点懵逼,但是后来参考网上的写法与自己的思考,写出了千分位。 以下是通过网上的代码,本人进行了进一步优化后的代码,仅供参考。...相比较与网上的方法,我的方法实现了能对小数也进行处理的功能,不会出现如果数字是小数,分割千分位就是出错的问题。...首先在开始的时候对数字做处理,使用split方法将转化为string类型的字符串在“.”位处分割开,然后装进数组中 然后将前半部分(整数部分)反转过来 使用循环判断长度,三位长度就增加一个逗号。...DOCTYPE html> 千分位 </body...并转化为数组,使用reverse方法将其反转 for(var i = 0; i < list.length; i++){ //定义变量,判断list的长度 if(i % 4 == 3){ //当长度为三位时
前言:最近在做财务系统的开发功能,要求在导出的word文档里面的数字,要以千分位的格式处理显示,于是写了一下下面的方法,希望可以帮助到需要的小伙伴/*** 格式化数字为千分位显示;* @param* @...>pattern is null* @exception IllegalArgumentException if the given pattern is invalid.* @see java.text.NumberFormat...#getInstance* @see java.text.NumberFormat#getNumberInstance* @see java.text.NumberFormat#getCurrencyInstance...* @see java.text.NumberFormat#getPercentInstance*/public DecimalFormat(String pattern) { // Always...DecimalFormatSymbols.getInstance(Locale.getDefault(Locale.Category.FORMAT)); applyPattern(pattern, false);}占位符的处理
由于小数部分符合匹配规则,因此,小数部分也添加了千分位。 前文使用的正则表达式如下: ((\.\d+[\w\W]*?)*?\d)(?...注意,替换完成后,需要去掉的字符串长度增加一位,因为多了一个千分位。...:123,456,789.1234555 使用的VBA代码如下: Option Explicit Option Base 1 Sub RegExpDemo3() '添加千分位 Dim...Len(strPad) - 1) Set objRegEx = Nothing End Sub 运行结果: 参考资料: [1] VBA:正则表达式(9) -添加千分位...(2/3) [2] 正则测试(https://tool.chinaz.com/regex) [3] VBA之正则表达式(11)-- 添加千分位(3/3)(https://blog.csdn.net/taller
环视的一个经典应用是添加千分位。添加千分位的一个正则表达式如下: (?<!\.\d+)(?<=\d+)(?=(\d{3})+(?!...这是为了保证小数部分不会添加千分位。 (2)?<=\d+,逆序肯定环视。所在位置的左侧只有数字。这是为了保证在整数部分添加千分位。 (3)?=(\d{3})+(?!...,或者结束标识符$,等等)。 VBA中通常使用的是VBScript正则(vbscript.regexp),不支持逆序环视。...结束标识$本意是希望用来匹配整数的结尾,但是小数部分也可能匹配到,所以小数部分也添加了千分位,这显然是不对的。...optionGlobl=global) [3] 正则测试(https://tool.chinaz.com/regex) [4] VBA之正则表达式(9)-- 添加千分位(1/3)(https://blog.csdn.net
=(\d{3})+(\D|),顺序肯定环视,所在位置的右侧,连续数字字符的个数是三的整数倍;并且其后跟随一个非数字字符,或者结束标识符。\D,表示非数字字符。 (2)\.\d+[\w\W]*?...,匹配的是任意字符,但换行符除外。 (3)($2)*?\d,匹配任意数量的匹配组2,后跟一个数字。也就是说,可以有或者没有小数点。...由于小数部分符合匹配规则,因此,小数部分也添加了千分位。...(未完待续) 参考资料: [1] VBA:正则表达式(9) -添加千分位(1/3) [2] 正则测试(https://tool.chinaz.com/regex) [3] VBA之正则表达式(10)--...添加千分位(2/3)(https://blog.csdn.net/taller_2000/article/details/89792241)
1、Java中的位运算符(操作符) 位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。...从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。...2.Java中的运算符(操作符) 程序的基本功能是处理数据,任何编程语言都有自己的运算符。因为有了运算符,程序员才写出表达式,实现各种运算操作,实现各种逻辑要求。...Java运算符很多,下面按优先顺序列出了各种运算符。 2.1 . 一元运算 因操作数是一个,故称为一元运算符。 ++x 因为++在前,所以x的值先加1后用。...4、关系运算符 Java具有完备的关系运算符,这些关系运算符同数学中的关系运算符是一致的。
介绍 Java中的位运算符是用于对二进制数进行操作的运算符。在计算机内部,所有的数据都是以二进制形式存储和处理的,因此使用位运算符可以高效地进行位操作,包括位移、位与、位或、位非、位异或等操作。...本文将介绍Java中的位运算符,包括其语法、操作和示例。...语法 Java中的位运算符包括以下6种: 位与(&) 位或(|) 位异或(^) 左移(<<) 右移(>>) 无符号右移(>>>) 它们的语法如下: 运算符 描述 & 位与运算符。...将左操作数的所有位向右移动指定的位数。在左边空出的位置填充0。 操作 以下是Java中的位运算符的操作。...注意事项 在使用位运算符时,需要注意以下几点: Java中的位运算符只能用于整型 位运算符的优先级较低,应该注意使用括号来确保正确的运算顺序。 左移和右移运算符的移动位数必须是非负整数。
= 5(当二进制中两个数的对应位置都是0或者都是1时,结果才为0,例如10100 & 11010 = 01110) ~:反码,~6 = -7(正数的原码、反码、补码都是它自己,负数的反码是原码的除符号位取反
console.log(change(12345.67)) function change(num) { var str = num....
&(按位与) 定义:针对二进制,只要有一个为0,就为0。...2 & 5 = 0 2的二进制:00000000 00000000 00000000 00000010 5的二进制:00000000 00000000 00000000 00000101 |(按位或...2 | 5 = 7 2的二进制:00000000 00000000 00000000 00000010 5的二进制:00000000 00000000 00000000 00000101 ^(按位亦或...2 ^ 3 = 1 2的二进制:00000000 00000000 00000000 00000010 3的二进制:00000000 00000000 00000000 00000011 ~(按位非...) 定义:按位取反运算符翻转操作数的每一位,即0变成1,1变成0。
今天在看HashMap 源码的时候 看到了位移运算符,正好再复习一下 左移运算符 /** * The default initial capacity - MUST be a power of...首先看 1 << 4 这个操作,读法是 1 向左移动 4 位,用 二进制表示就是 0000 0001 十进制表示是 1 0001 0000 十进制表示是16 左移运算符就是在给定数值的基础上向左移动 N...,左移40位相当于左移8位(40%32=8)。...如果是 long 类型,则相应的操作位数会变大,变成64 位,所以 long 类型 左移 64 位无变化,左移 66 位相当于 (66%64 = 2)位 ---- 右移 运算符 右移运算符分为 2 种,...>> (右移运算符) 和 >>> (无符号右移运算符) >> (右移运算符) 右移运算符就是向右移动指定的位数,左边补上0,比如 10 >> 2 0000 1010 右移 >> 0000 0010 结果就是
二进制运算符 由于计算机内部的数据都以二进制的形式存在,所以在Java语言中提供了直接操作二进制的运算符,这就是下面要讲解的位运算符和移位运算符。 ...关于二进制和补码的计算可以参看《Java编程那些事儿7——进制的概念》和《Java编程那些事儿8——计算机内部的数据表达》。 ...位运算符 Java语言中的位运算符主要有4种:&(位与)、|(位或)、^(异或)和~(按位取反),下面依次介绍运算规则和使用示例。 ...= 0); 将任意数字倒数第四位置为 假设n是一个任意的整数,则代码为: int m = n | 0x8; 在Thinking in Java第三章中的一段话: 移位运算符面向的运算对象也是二进制的...“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。Java也添加了一种“无符号”右移位运算符(> > > ),它使用了“零扩展”:无论正负,都在高位插入0。
左移运算符(>)右移运算符(>>)用于将一个操作数的所有二进制位右移指定的位数,并在高位填充符号位。如果操作数是正数,则在高位填充0;如果操作数是负数,则在高位填充1。...然后我们使用右移运算符(>>)将a的二进制数右移两位,并将结果存储在变量b中。由于右移两位相当于将10除以2的2次方(即2),因此结果为2。...无符号右移运算符(>>>)无符号右移运算符(>>>)用于将一个操作数的所有二进制位右移指定的位数,并在高位填充0。无符号右移运算符不考虑符号位,因此无论操作数是正数还是负数,在高位都填充0。
按位与运算符(&)按位与运算符(&)用于对两个操作数的所有二进制位执行逻辑AND操作。如果两个操作数的对应二进制位都为1,则结果为1;否则结果为0。...然后我们使用按位与运算符(&)对它们进行按位与运算,并将结果存储在变量c中。按位与运算的结果是0010,即2。按位或运算符(|)按位或运算符(|)用于对两个操作数的所有二进制位执行逻辑OR操作。...然后我们使用按位或运算符(|)对它们进行按位或运算,并将结果存储在变量c中。按位或运算的结果是1110,即14。...按位异或运算符(^)按位异或运算符(^)用于对两个操作数的所有二进制位执行逻辑XOR操作。如果两个操作数的对应二进制位不相同,则结果为1;否则结果为0。...按位取反运算符(~)按位取反运算符(~)用于对一个操作数的所有二进制位执行逻辑NOT操作。如果一个二进制位为0,则结果为1;否则结果为0。
JS手撕(六) trim、模板字符串、千分位分隔符 trim 去掉字符串两边的空格。...包括空格符、制表符、回车符、换行符等 |:a | b匹配a或 b $:匹配输入字符串的结束位置 测试: const str1 = ' 12 3'; const str2 = '12 3...不用递归的方法的话,需要加g,变成全局匹配 return templateStr.replace(reg, (match, p1) => { return data[p1]; }) } 实现千分位分隔符...没有exp1的时候其实也可以说是匹配上了一个空串,所以当调用replace把匹配的内容变成,的时候,就有点见缝插针一样多出了一些分隔符。
本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。...Java中的位运算符 文本关键字:位运算符、位逻辑运算符、移位运算符 一、位运算符 大家在接触运算符的时候通常都已经学完了变量的使用,对于算术以及赋值运算的感觉就是So easy!...说起位运算符,其实就是基于数据存储的二进制位进行的运算,更底层,所以效率更高。...有些教材将&,|等位运算符也归为逻辑运算符,因为按位与(&)、按位或(|)能够操作的数据类型较多,其中就包括布尔类型,并且也能够帮助我们进行逻辑运算,但是小编还是建议按照符号本身的运算方式和操作数据类型等来记忆...按位与 那么按位与就是将运算符两边的数字转换为二进制后,在每两个对应位置上的数字进行与运算,再将最后的结果按十进制写出就可以了。
按位与运算符(&)按位与运算符(&)用于对两个操作数的位进行与运算,并返回一个结果。如果两个操作数的位都为1,则结果为1,否则结果为0。...然后我们使用按位与运算符(&)将它们的二进制数进行与运算,并将结果存储在变量c中。由于a和b的二进制数的位没有相同的1,因此结果为0。...按位或运算符(|)按位或运算符(|)用于对两个操作数的位进行或运算,并返回一个结果。如果两个操作数的位都为0,则结果为0,否则结果为1。...然后我们使用按位或运算符(|)将它们的二进制数进行或运算,并将结果存储在变量c中。由于a和b的二进制数的位都有1,因此结果为1111(15)。...按位异或运算符(^)按位异或运算符(^)用于对两个操作数的位进行异或运算,并返回一个结果。如果两个操作数的位相同,则结果为0,否则结果为1。
args) { System.out.println("a="+(2<<3)); } } 输出结果a=16 3、>>:右移,相当于除于2的-y次方,移位后不足的位用符号补充...main(String[] args) { System.out.println("b="+(8>>3)); } 输出结果b=1 4、>>>:与3 的区别就是,移位后不足的位用...0补充 位运算只用于整数,并且如果超过范围所得值为0。
JAVA位运算等运算符总结 一、概述 运算符是一种“功能”符号,用以通知 Java 进行相关的运算。...Java 语言中常用的运算符可分为如下几种: 算术运算符 赋值运算符 比较运算符 逻辑运算符 条件运算符 位运算符 二、算数运算符 就是加减乘除这些,没什么可说的。...^= 按位异或赋值操作符 |= 按位或赋值操作符 四、比较运算符 就是判断两个数据的大小,没什么可说的。...七、位运算符 位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。...<< 按位左移运算符。左操作数按位左移右操作数指定的位数。 >> 按位右移运算符。左操作数按位右移右操作数指定的位数。 >>> 按位右移补零操作符。
位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。...Java中的运算符(操作符) 程序的基本功能是处理数据,任何编程语言都有自己的运算符。因为有了运算符,程序员才写出表达式,实现各种运算操作,实现各种逻辑要求。 ...为实现逻辑和运算要求,编程语言设置了各种不同的运算符,且有优先级顺序,所以有的初学者使用复杂表达式的时候搞不清楚。这里详细介绍一下Java中的运算符。 ...Java运算符很多,下面按优先顺序列出了各种运算符。 优先级运算符分类结合顺序运算符由高 到 低分隔符左结合. [] ( ) ; ,一元运算符右结合! ...四、关系运算符 Java具有完备的关系运算符,这些关系运算符同数学中的关系运算符是一致的。
领取专属 10元无门槛券
手把手带您无忧上云