浮点数

js正则表达式

旧时模样 提交于 2020-02-22 15:19:40
一、验证数字的正则表达式集 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 验证非零的正整数:^\+?[1-9][0-9]*$ 验证非零的负整数:^\-[1-9][0-9]*$ 验证非负整数(正整数 + 0): ^\d+$ 验证非正整数(负整数 + 0): ^((-\d+)|(0+))$ 验证长度为3的字符:^.{3}$ 验证由26个英文字母组成的字符串:^[A-Za-z]+$ 验证由26个大写英文字母组成的字符串:^[A-Z]+$ 验证由26个小写英文字母组成的字符串:^[a-z]+$ 验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 验证由数字、26个英文字母或者下划线组成的字符串:^\w+$ 验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+ 验证汉字:^[\u4e00-\u9fa5],{0,}$ 验证Email地址:/^

正则表达式练习题集(附答案)

£可爱£侵袭症+ 提交于 2020-02-22 00:51:28
   前言 好久到没有去写关于正则表达式的总结了,虽然自己写了一些关于正则表达式的东西。但是 感觉上对正则表达式还停留在网上查找的阶段,对于大部分的人来说,很难写自己的正则表达式 对于正则表达式笔者也做过相关的总结。呃,过了一段时间还是模糊了。因此找一些练习题来找 回自己的记忆。 需要说明的是这些练习题有的是网上的! 初级练习 1、求非负整数 : ^\d+$ Tips:需要注意的是这个匹配模式为多行模式下进行的 2、匹配正整数: ^[1-9]*[1-9][0-9]*$ 在网上也有这种写法的 ^[0-9]*[1-9][0-9]*$ 这里截图我也不贴了,前者指能匹配123012这种整数,而后者可以匹配001230。 取舍就看实际的需要了 3、非正整数:^(-\d+|(0+))$ 4、负整数:^-[0-9]*[1-9][0-9]*$ 5、整数 :^-?\d+$ 6、非负浮点数 :^\d+(\.\d+)?$ 7、正浮点数 :^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 8、非正浮点数 :^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 9、负浮点数:^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)

信息学奥赛一本通C++语言——1060:均值

和自甴很熟 提交于 2020-02-20 18:11:06
【题目描述】 给出一组样本数据,包含n个浮点数,计算其均值,精确到小数点后4位。 【输入】 输入有两行,第一行包含一个整数n(n小于100),代表样本容量;第二行包含n个绝对值不超过1000的浮点数,代表各个样本数据。 【输出】 输出一行,包含一个浮点数,表示均值,精确到小数点后4位。 【输入样例】 2 1.0 3.0 【输出样例】 2.0000 # include <cstdio> int main ( ) { int n ; double d , s , a ; scanf ( "%d" , & n ) ; for ( int i = 0 ; i < n ; i ++ ) { scanf ( "%lf" , & d ) ; s + = d ; } a = ( double ) s / n ; printf ( "%.4lf" , a ) ; return 0 ; } # include <cstdio> int main ( ) { int n ; double arr [ 100 ] ; double avg , sum ; scanf ( "%d" , & n ) ; for ( int i = 0 ; i < n ; i ++ ) { scanf ( "%lf" , & arr [ i ] ) ; //scanf默认的分隔符是所有空白字符 sum + = arr [ i

c语言基础的输出格式控制符

大憨熊 提交于 2020-02-18 03:40:06
%d---输出一个整型数; %ld---输出一个长整型; %f---输出一个float浮点数; %f---输出一个double浮点数 %e---输出一个浮点数,科学计数法; %s---输出一个字符串; %c---输出一个字符; %#x---输出一个十六进制的数; %m.nf---输出的数据占m列,其中小数位数为n位。如果加负号则左对齐。 来源: CSDN 作者: kekeshu_k 链接: https://blog.csdn.net/kekeshu_k/article/details/104354886

浮点数——科学计数法、浮点数表示、加减运算和浮点数的使用

我的梦境 提交于 2020-02-17 14:37:48
目录 1.2浮点数 1.2.1 科学计数法 1.2.2 浮点数表示 1 符号位 2价码位 1.2.3 加减运算 1.2.4 浮点数的使用 1.2浮点数 浮点数是采用科学计数法来表示的,由符号位、有效数字、指数三部分组成。使用浮点数存储和计算的场景无处不在,若使 用不当则容易造成计算与理论值不一致,如下示例代码。 float a = 1f; float b = 0.9f; // 结果为: 0.100000024 float f = a -b; 执行结果显示计算结果与预期存在明显得误差,下面我们来深入剖析造成这个误差的原因来介绍浮点数的构成与计算原理。由于浮点数是以科学计数法来表示的。 1.2.1 科学计数法 浮点数是计算机用来表示小数的一种数据类型。在数学中,采用科学计数法来近似表示一个极大或一个极小且位数较多的数。例如a × ,其中a满足1≤ |a| <10, 是以10为底数,n为指数的幂运算表达式。a × 还可以表示成aen。 科学计数法的有效数字为从第一个非零数字开始的全部数字,指数决定小数点的位置,符号表示该数的正负。值得注意的是,十进制科学计数法要求有效数字的整数部分必须在[1, 9]区间内,满足这个要求的表示形式被称为“规格化”。科学计数法可以唯一地表示任何一个数,且所占用的存储空间会更少,计算机就是利用这一特性表示极大或极小的数值。例如长整型能表示的最大值约为922亿亿

C++中的数据类型

好久不见. 提交于 2020-02-17 02:14:50
1. 整形 整形有4种:int、short(16位)、long(32位)、longlong(64位),每种都有signed(有符号,默认)、unsigned(无符号)两种。有符号整数可以表示非负整数,也可以表示负整数;无符号整数只能表示非负整数。 2. 字符型 字符型有Char(8位)、wchat_t(16位)、char16_t(16位unicode)、char32_t(32位Unicode)四种 3. 布尔型 Bool 逻辑类型,值为true或者false 4. 空类型void 用void定义的类型,不能用于普通变量的声明,只能用于指针型变量,函数参数和函数返回值。 5. 浮点型 Float(32位单精度浮点数):表示范围为-2 7~+2 7-1 double(64位双精度浮点数):表示范围为-2 10~+2 10-1 6. 指针类型 指针定义用<类型>*<指针变量>表示,用来描述内存地址,并通过提供指针操作来实现与内存相关的程序功能 7. 数组类型 数组类型是一种有固定多个同类型的元素按一定次序所构成的数据类型 其中一位数组用 数据类型 数组名[常量表达式] 方式表示, 二维数组用 *数据类型 数组名[常量表达式1][常量表达式2]*方式表示。 访问时注意下标是否越界,不能超出常量-1的值。 8. 结构体类型struct

浮点数比较大小

試著忘記壹切 提交于 2020-02-16 21:32:39
精度由计算过程中需求而定。 比如一个常用的精度为1e-6.也就是0.000001. 所以对于两个浮点数a,b,如果要比较大小,那么常常会设置一个精度如果fabs(a-b)<=1e-6,那么就是 相等 了。 fabs是求浮点数绝对值的函数。 判断 大于 的时候,就是if(a>b && fabs(a-b)>1e-6)。 判断 小于 的时候,就是if(a<b&&fabs(a-b)>1e-6)。 来源: CSDN 作者: code_carrot 链接: https://blog.csdn.net/qq_37209590/article/details/104343467

mysql中float类型使用总结

妖精的绣舞 提交于 2020-02-14 13:56:24
对于单精度浮点数Float: 当数据范围在±131072(65536×2)以内的时候,float数据精度是正确的,但是超出这个范围的数据就不稳定,没有发现有相关的参数设置建议:将float改成double或者decimal,两者的差别是double是浮点计算,decimal是定点计算,会得到更精确的数据。 下面使用分析, 首先创建测试表 CREATE TABLE `customer` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) DEFAULT NULL, `age` ) DEFAULT NULL, `jinqian` float(5,2) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE DEFAULT CHARSET=utf8; float(m,d) m表示的是最大长度,d表示的显示的小数位数。 例如上面的sql里:float(4,2) 表示:这个浮点数最大长度为5,也就是五位,然后小数部分为2位,至于存储范围,取决于你是否定义了无符号。 无符号的话,最小是0.0 最大能存储到99999.9,如果有符号的话,范围是:-99999.9至99999.9。 默认大小为24位数字,精度大约7位数字(经测试为6位),当设置M大小大于24时,自动转换为DOUBLE类型;同时设置M和D时不进行自动转换。

js的数值精度和数值范围

主宰稳场 提交于 2020-02-14 12:05:56
1、整数和浮点数 JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相同的,是同一个数。 1 === 1.0 // true 这就是说,JavaScript 语言的底层根本没有整数,所有数字都是小数(64位浮点数)。容易造成混淆的是,某些运算只有整数才能完成,此时 JavaScript 会自动把64位浮点数,转成32位整数,然后再进行运算,参见《运算符》一节的”位运算“部分。 由于浮点数不是精确的值,所以涉及小数的比较和运算要特别小心。 0.1 + 0.2 === 0.3 // false 0.3 / 0.1 // 2.9999999999999996 ( 0.3 - 0.2 ) === ( 0.2 - 0.1 ) // false 2、数值精度 根据国际标准 IEEE 754,JavaScript 浮点数的64个二进制位,从最左边开始,是这样组成的。 第1位:符号位,0表示正数,1表示负数 第2位到第12位:指数部分 第13位到第64位:小数部分(即有效数字) 符号位决定了一个数的正负,指数部分决定了数值的大小,小数部分决定了数值的精度。 IEEE 754 规定,有效数字第一位默认总是1,不保存在64位浮点数之中。也就是说,有效数字总是1.xx…xx的形式,其中xx…xx的部分保存在64位浮点数之中,最长可能为52位。因此

利用结构体观察浮点数

被刻印的时光 ゝ 提交于 2020-02-14 11:14:11
利用结构体定义位域,可以观察浮点数内部是如何存储的,看代码: #include<cstdio> using namespace std; struct fp{ unsigned fraction:23; unsigned exponent:8; unsigned sign:1; }; int main(){ float a=0.1; fp *p=(fp*)&a; printf("%d\n",p->sign); printf("%d\n",p->exponent-127); printf("%d\n",p->fraction); return 0; } 位域在本质上就是一种结构类型, 不过其成员是按二进位分配的。关于位域的几点说明: 1、位域以二进制位来存储数据,可以在冒号左边是位域名,冒号右边是位域的长度。 2、位域按定义顺序存储,记住是从存储变量的个位,也就是最右边开始的。 3、一个位域必须存储在同一个字节中,不能跨两个字节。如一个字节所剩空间不够存放另一位域时,应从下一单元起存放该位域。也可以有意使某位域从下一单元开始。 4、来确定结构体类型的成员变量的值所占的字位数,如果在实际应用中,该变量的值超出了在声明它时所声明的字位数,那么溢出的部分将会丢失。 struct bs { unsigned a:4 unsigned :0 /*空域*/ unsigned b:4 /