浮点数

最常用的正则表达式

有些话、适合烂在心里 提交于 2020-03-05 15:14:28
一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$ 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$ 有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$ 非零的负整数:^\-[1-9][]0-9″*$ 或 ^-[1-9]\d*$ 非负整数:^\d+$ 或 ^[1-9]\d*|0$ 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$ 非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ 非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ 正浮点数:^[1-9]

编程基础概念

浪子不回头ぞ 提交于 2020-03-05 04:53:59
Python程序的构成 python文件的创建和执行 (1)前面使用的交互式环境,每次只能执行一条语句;为了编写多条语句实现复杂的逻辑,本章开始我们通过创建Python文件,并执行该文件。 => 交互式环境一次只能执行一条语句,而文件一次可执行多条语句. (2)在IDLE 环境中,我们可以通过File-->new 创建Python 文件,并可以编辑该文件内容。我们也可以通过File-->save/save as 保存文件。一般保存成扩展名为py 的文件。 (3)需要执行编辑好的文件,可以用快捷键F5 或者点击Run-->Run module。 代码的组织和缩进 Python完全是依靠缩进来进行组织的 (1) “龟叔”设计Python 语言时,直接通过缩进来组织代码块。“缩进”成为了Python 语法强制的规定。 (2) 缩进时,几个空格都是允许的,但是数目必须统一。我们通常采用“四个空格”表示一个缩进。同时,也要避免将“tab 制表符”或者tab 与空格混合的缩进风格。目前,常用的编辑器一般设置成:tab 制表符就是4 个空格。 => 不要搞特殊,大家都是习惯使用4个,那就4个就完事了 使用注释 # """ (1) 注释是程序中会被Python 解释器忽略的一段文本。程序员可以通过注释记录任意想写的内容,通常是关于代码的说明。 (2) Python 中的单行注释,使用

常用的正则表示式

一个人想着一个人 提交于 2020-03-04 13:12:45
非负整数:^\d+$ 正整数:^[0-9]*[1-9][0-9]*$ 非正整数:^((-\d+)|(0+))$ 负整数:^-[0-9]*[1-9][0-9]*$ 整数:^-?\d+$ 非负浮点数:^\d+(\.\d+)?$ 正浮点数 : ^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)$ 非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$ 负浮点数:^(-((正浮点数正则式)))$ 英文字符串:^[A-Za-z]+$ 英文大写串:^[A-Z]+$ 英文小写串:^[a-z]+$ 英文字符数字串:^[A-Za-z0-9]+$ 英数字加下划线串:^\w+$ E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$ 或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$ 邮政编码:^[1-9]\d{5}$ 中文:^[\u0391-\uFFE5]+$ 电话号码:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2

C++浮点数转换为定点数

你离开我真会死。 提交于 2020-03-04 06:30:05
  笔者最近在编程的时候,要控制浮点数的精度进行计算和对比,在网上经过一系列查找后终于 在Csdn上面找到了相关的内容,虽然控制浮点数的精度后没有性能上的提升,笔者知道了如何修改 和控制浮点数的精度了,总的来说,每天要进步一点点。 代码如下: 1 #include "cuda_runtime.h" 2 #include "device_launch_parameters.h" 3 4 #include <stdio.h> 5 6 #include <iomanip> 7 #include <sstream> 8 #include <iostream> 9 #include <cmath> 10 11 // 功能:四舍五入(double),支持正负数 12 // dSrc : 待四舍五入之数 13 // iBit : 保留的小数位数。 0 - 不保留小数、1 - 保留一位小数 14 // 返回值:返回计算结果 15 // 16 double Round(_In_ double dSrc, _In_ int iBit) 17 { 18 double retVal = 0.0; 19 int intTmp = 0; 20 21 22 // 若保留小数位数不正确 23 if (0 > iBit ) 24 { 25 return 0; 26 } 27 28 // 若 为负数 29 if (0

内置函数以及闭包

旧街凉风 提交于 2020-03-04 04:06:47
今日内容 匿名函数:一句话函数,比较简单的函数。 此函数不是没有名字,他有名字,他的名字就是你给其设置的变量。 lambda是定义匿名函数的关键字,相当于函数的def。 lambda后面直接加形参,形参加多少都可以,只要用逗号隔开就行了。 返回值在冒号之后设置,返回值和正常函数一样,可以是任意数据类型。 匿名函数不管多复杂,只能写一行,且逻辑结束后直接返回数据。 def func(a,b): return a + b #构建匿名函数 func1 = lambda a,b:a+b print(fun(1,2)) ​ 接收一个可切片的数据,返回索引为0与2的对应的元素(元祖形成)。 func2 = lambda a:(a[0],a[2]) print(func([22,33,44,55]))#(22, 44) 写匿名函数:接收两个int参数,将较大的数据返回。 lambda a,b:a if a>b else b 内置函数 python 提供了68个内置函数。 eval 剥去字符串的外衣运算里面的代码,有返回值。 s1 = '1+3' print(s1) print(eval(s1)) s = '{"name":"alex"}' print(s,type(s)) print(eval(s)) exec 与eval几乎一样,代码流。 msg = ''' for i in range(10

【原创】浮点数存储格式图解

二次信任 提交于 2020-03-04 02:53:45
关于IEEE-754标准 详细可参考百度百科: http://baike.baidu.com/view/1352525.htm ,或者维基百科: http://zh.wikipedia.org/zh-cn/IEEE_754 为便于 软件 的移植, 浮点数 的表示形式应该有统一标准(定义)。1985年IEEE(Institute of Electrical and Electronics Engineers)提出了IEEE754标准。该标准规定 基数 为2, 阶码 E用 移码 表示,尾数M用 原码 表示,根据 二进制 的规格化方法,数值的最高位总是1, 该标准将这个1缺省存储,使得尾数表示范围比实际存储的多一位 。IEEE754标准中有三种形式的浮点数:短浮点数(又称单精度浮点数)、长浮点数(又称双精度浮点数)、临时浮点数(又称扩展精度浮点数,这种浮点数没有隐含位),它们的具体格式如下表:    类型 存储位数 偏置值 数符(s) 阶码(e) 尾数(m) 总位数 十六进制 十进制 短浮点数(Single,float) 1位 8位 23位 32位 7FH +127 长浮点数(Double) 1位 11位 52位 64位 3FFH +1023 临时浮点数(扩展精度浮点数) 1位 15位 64位 80位 3FFFH +16383  对于阶码为0或255的情况,IEEE754标准有特别的规定

PHP浮点数运算精度问题

女生的网名这么多〃 提交于 2020-03-04 02:02:09
最近有客户反应商城订单金额总是不准确,总是相隔一分钱。检查相关代码逻辑都是正确的,就是运用了四则运算。大概推测问题可能出在浮点计算丢失精度。在 《PHP程序员雷雪松的博客》 中写过一篇关于JS精度不准确的文章- 《JS中浮点数运算不精准》 。下面 PHP程序员雷雪松 详细的介绍一下如何解决PHP浮点数运算精度问题。 PHP有一个BC Math高精确度的数学扩展,它可以为任意精度数学计算提供了二进制计算器(Binary Calculator),它支持任意大小和精度的数字,以字符串形式描述。在需要处理数字计算时,不要在简单地使用四则运算,而要用BC Math相关的函数来处理。 1、安装BC Math扩展 本类函数仅在 PHP 编译时配置了 –enable-bcmath 时可用。PHP 的 Windows 版本已内建对此扩展的支持,不需要载入额外的扩展来使用这些函数。如果需要编译安装,请参考 PHP安装编译配置里的扩展 。 2、BC Math提供的函数 bcadd — 2个任意精度数字的加法计算 bccomp — 比较两个任意精度的数字 bcdiv — 2个任意精度的数字除法计算 bcmod — 对一个任意精度数字取模 bcmul — 2个任意精度数字乘法计算 bcpow — 任意精度数字的乘方 bcpowmod — Raise an arbitrary precision number

数据类型之number

拟墨画扇 提交于 2020-03-03 08:33:30
数字类型转换: 1.int(x) 将x转换为一个整数。 2.float(x) 将x转换到一个浮点数。 3.complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。 4.complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。 注:复数不支持转换为浮点数和整数。 数字运算: 注意几点即可,其余与普通运算一样: 1.使用两个整数进行/法时,可能会得到小数形式,若要得到仅整数部分可使用//。 2.//得到的数不一定为整数类型,与分子分母的数据类型有关,若分子或分母为float型,返回值一样为float型。 3.不同类型的数混合运算时,会将整型变浮点型。 常用数学函数: 1.abs(x):返回数字的绝对值。 2.fabs(x):返回数字的绝对值。需要导入math库进行使用,且只使用于float和integer类型数值。 3.ceil(x):返回数字的向上入整数,如ceil(2.4)返回3。 4.floor(x):返回数字的向下入整数。 5.round(x):返回数字四舍五入的结果。 6.exp(x):返回e的x次幂。 7.log(x【,y】):y表示log函数的底数,x表示真数。 8.pow(x,y):返回x的y次幂结果。 9. modf(x):返回x的整数部分与小数部分,整数整型表示,小数部分浮点数表示。 10.sqrt(x)

javascript表单验证常用正则

梦想与她 提交于 2020-03-03 07:30:51
作者:老大徒伤悲 链接:https://zhuanlan.zhihu.com/p/23537666 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 表单验证常用正则,非常不错,收集的相对比较完整,大家可以看看。 1。^\d+$  //匹配非负整数(正整数 + 0) 2。^[0-9]*[1-9][0-9]*$  //匹配正整数 3。^((-\d+)|(0+))$  //匹配非正整数(负整数 + 0) 4。^-[0-9]*[1-9][0-9]*$  //匹配负整数 5。^-?\d+$    //匹配整数 6。^\d+(\.\d+)?$  //匹配非负浮点数(正浮点数 + 0) 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+)?))$  //匹配非正浮点数(负浮点数 + 0) 9。^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配负浮点数 10。^(-?\d+)(\.\d+)?$  //匹配浮点数 11。^[A-Za-z]+$  /

常用的正则表达式

丶灬走出姿态 提交于 2020-03-03 07:12:17
匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:\n\s*\r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /> 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力 匹配首尾空白字符的正则表达式:^\s*|\s*$ 评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 评注:表单验证时很实用 匹配网址URL的正则表达式:[a-zA-z]+://[^\s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 评注:表单验证时很实用 匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7} 评注:匹配形式如 0511-4405222 或 021-87888822