前言 本来是打算次条每天更新面试题和算法刷题的,加上头条一共要三篇文章,实在更不来,而且两篇都看的人也不多,所以我就算法刷题和面试题论着更新,更新的时候多更新几道。...题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。...1 / base : base; 15 } 方法2:位运算 我直接举个例子吧,例如 base = 2, exponent = 13,则 exponent 的二进制表示为 1101, 那么 2 的...1 / sum : sum; 18 } 其实有很多题是可以利用位的与,或,异或来解决的,大家可以思考下平时遇到哪些题是用这种方法解决的,我后面会给出几道题,这些题都可以用异或位运算巧妙解决。...发的另一道题也用到了位运算。 其实我是想跟大家说,做题的时候,有时候想想是否可以用位运算来解决。
1.ceil () 向上取整 例: ceil(1.2) = 2 2.floor () 向下取整 例: floor(1.2) = 1 3.round() 四舍五入
ABS(x)函数 返回x的绝对值 ? CEIL(x)函数 返回大于x的最小整数 ? FLOOR(x)函数 返回小于x的最大整数 ?...MOD(x,y)函数 返回x/y的模,和x%y的结果相同,模数和被模数任何一个为NULL结果都为NULL; ? RAND()函数 返回0~1内的随机值 ?...利用此函数可以取任意指定范围内的随机数。 ? ROUND(x,y)函数 返回参数x的四舍五入的有y位小数的值 如果x是整数,将会保留y为0,;如果不写y,则默认y为0,即将x四舍五入后取整。...适合于将所有数字保留同样小数位的情况。 ? TRUNCATE(x,y)函数 返回数字x截断为y位小数的结果 ?
函数 功能 ceil(x) 向上取整 floor(x) 向下取整 mod(x,y) 返回x/y的模 rand() 返回0~1内的随机数 round(x,y) 求参数x的四舍五入的值,保留y位小数 向上取整函数...-- ceil select ceil (1.1); 向下取整函数 -- floor select floor(1.9); 求模函数 -- mod select mod(6,4); 求模运算就是看余数是几...生成0-1的随机数函数 -- rand select rand(); 生成四舍五入值的函数 -- round select round(2.344,2); Exercises...通过数据库的西数,生成一个六位数的随机验证码 select round(rand() * 1000000,0); ⚠️注意:在正常情况下我们可以生成六位数,但是它有一个bug,因为rand生成的是小数...解决方案:利用之前学的字符串填充函数,保证他是一个六位数。 修改以后的代码: select lpad(round(rand() * 1000000,0) , 6 , '0');
数值函数 1....,其中x的值用作种子值,相同的X值会产生相同的随机数 ROUND(x) 返回一个对x的值进行四舍五入后,最接近于X的整数 ROUND(x,y)...LN(X),LOG(X) 返回以e为底的X的对数,当X 的结果为NULL LOG10(X) 返回以10为底的X的对数,当X 的结果为...NULL LOG2(X) 返回以2为底的X的对数,当X <= 0 时,返回NULL mysql> SELECT POW(2,5),POWER(2,4),EXP...OCT(x) 返回x的八进制编码 CONV(x,f1,f2) 返回f1进制数变成f2进制数 mysql> SELECT BIN(10),HEX(10),OCT(10),CONV
数值函数: 用来处理很多数值方面的运算,使用数值函数,可以免去很多繁杂的判断求值的过程,能够大大提高用户的工作效率。...1、ABS(x):返回 x 的绝对值 MySQL> select abs(-0.8),abs(0.8); +-----------+----------+ | abs(-0.8) | abs(0.8)...也就是说得大于或等于x的最小整数 同义词:ceiling(x) mysql> select ceil(1); +---------+ | ceil(1) | +---------+ |...(与CEIL的用法刚好相反) mysql> select floor(1.23),floor(-1.23); +-------------+--------------+ | floor(1.23) |...:x mod y 和 x%y 的结果相同; 模数和被模数任何一个为NULL(无效数)结果都为 NULL mysql> select mod(123,10),234%7,3 mod 2; +---
在MySQL中,整数和浮点数的定义都是有多种类型,整数根据实际范围定义,浮点数语言指定整体长度和小数长度。浮点数类型包括单精度浮点数(float型)和双精度浮点数(double型)。...定点数以字符串形式存储,因此,其精度比浮点数要高,而且浮点数会出现误差,这是浮点数一直存在的缺陷。如果要对数据的精度要求比较高,还是选择定点数decimal比较安全。...MySQL 是支持 bigint 和 bigdecimal 数据类型存储的,当然还有 numberic,numberic 的作用与 bigdecimal 一致,当然如果这些数据类型在数据库中计算我觉得是不妥的
昨晚测试人员测试的时候,偶然遇到了个小数相乘的问题,后来找了一下博客,才发现原来是JS浮点运算的bug,故在此记录了一下,避免我忘记。...背景 当时前台在页面上展示时是65.32,但是我后来查后台日志时发现传到后台时的数值为6531.999999999999,潇洒以为是我们后台的原因,我后来查了代码发现是由于前台传金额与后台不一致,故被后台拦截...然后我去看了前台的js代码,发现展示的金额确实没问题,但是在订单提交的时候出了问题。 image.png image.png 这样直接算出来的确实是有问题的。...7位 double 精确到小数点后15位 浮点运算的精度问题,所以代码里使用 parseFloat(65.32 * 100).toFixed() 或 (65.32 * 100).toFixed() 进行取整.../js中对数字含有小数的进行相乘后数值不正确问题
【重学 MySQL】三十、数值类型的函数 基本函数 MySQL提供了一系列基本的数值函数,用于处理数学运算和数值转换。...PI() 返回圆周率的值(约等于3.141592653589793)。 CEIL(x),CEILING(x) 返回大于或等于x的最小整数(向上取整)。...FLOOR(x) 返回小于或等于x的最大整数(向下取整)。 LEAST(e1,e2,e3...) 返回列表中的最小值。可以比较多个值。 GREATEST(e1,e2,e3...) 返回列表中的最大值。...三角函数 MySQL支持多种三角函数,用于计算角度(以弧度为单位)的正弦、余弦、正切等。 函数 用法 SIN(x) 返回x(弧度)的正弦值。...COT(x) 返回x(弧度)的余切值,即1/TAN(x)。 指数与对数 MySQL提供了用于计算指数和对数的函数。 函数 用法 POW(x,y),POWER(X,Y) 返回x的y次方。
我在工作中很少遇到所谓的‘奇怪的问题’。所以对于‘奇怪的问题’我还是很期盼的,可能很早的时候就被某些XX开发规范给限制住了,也就很少遇到这些所谓的奇怪的问题。...其中比较重要的一个条件就是 「where xx!=0」。说是很奇怪,为什么!=0就查询到的结果就是10条。但是!=1 查询出来的结果就是100条。...为什么会出现这样的情况呢? 简单考虑了一下,字段的类型为 varchar型,而查询条件给予的是个数值型,那么问题应该就是出现在这里。 数据库在基于查询条件进行检索的时候会如何进行操作呢?...如果查询条件‘0’转换成了varchar那么就应该获取到全部的数据。但是现在的状况是获取到的数据不够。那结论就是数据库把要查询的字段转换成了数值型。 那么我们把app字段进行转换一下试试。...结论 mysql在使用varchar字段查询条件是int类型的时候会把varchar型首先转换为int型进行查询。所以就会出现查询结果与预期不符的情况。
MySQL 数值类型溢出处理 当 MySQL 在某个数值列上存储超出列数据类型允许范围的值时,结果取决于当时生效的 SQL 模式 如果启用了严格的 SQL 模式,则 MySQL 会根据 SQL 标准拒绝带有错误的超出范围的值...当超出范围的值分配给整数列时,MySQL 会存储表示列数据类型范围的相应端点的值 2....当为浮点或定点列分配的值超出指定(或默认)精度和比例所隐含的范围时,MySQL 会存储表示该范围的相应端点的值 这个,应该很好理解吧?...数值表达式求值过程中的溢出会导致错误,例如,因为最大的有符号 BIGINT 值是 9223372036854775807,因此以下表达式会产生错误 mysql> SELECT 9223372036854775807...9223372036854775807.0 + 1 | +---------------------------+ | 9223372036854775808.0 | +---------------------------+ 整数数值之间的减去
突然有个开发的朋友告诉我他用引号查询数据的结果和不带引号的不一致那么导致这问题的原因是什么呢。 不带引号查询结果为两条,带了引号为1条记录 首先查看表结构发现表的字段类型为varchar。...查询sql大概是这样 select c1,c2,c3 from table1 where c2=1284769464291737600 众所周知varchar不带引号的查询会产生隐式转换,根据这个线索查找官方文档...大概意思是超过2的53次放的整数不能被精确表示。...会转换为float并且四舍五入 https://dev.mysql.com/doc/refman/5.7/en/type-conversion.html 避免类似情况发生就需要指定合理的开发规范,并对
因此我这里加个巡检脚本,也便于和组内其它人同步生产的运行参数的变更情况。...mycursor.execute(get_sql)res = mycursor.fetchall()content = ""for i in res:content += str(i) + "\n"# 确保文件存放的目录是存在的...datetime.timedelta(days=-1)).strftime("%Y%m%d")) + '.txt'with open(current_file,'w') as f:f.write(content)# 如果读取前一天的文件失败...last_version",todesc="current_version",context=True,numlines=0,)fp.write(html)# 最好加个邮件明细告警(或者IM概要告警)上述脚本生成的html
MySQL 数值类型溢出处理 当 MySQL 在某个数值列上存储超出列数据类型允许范围的值时,结果取决于当时生效的 SQL 模式 如果启用了严格的 SQL 模式,则 MySQL 会根据 SQL 标准拒绝带有错误的超出范围的值...,并且插入失败 如果没有启用任何限制模式,那么 MySQL 会将值裁剪到列数据类型范围的上下限值并存储 当超出范围的值分配给整数列时,MySQL 会存储表示列数据类型范围的相应端点的值 当为浮点或定点列分配的值超出指定...(或默认)精度和比例所隐含的范围时,MySQL 会存储表示该范围的相应端点的值 这个,应该很好理解吧?...数值表达式求值过程中的溢出会导致错误,例如,因为最大的有符号 BIGINT 值是 9223372036854775807,因此以下表达式会产生错误 mysql> SELECT 9223372036854775807...9223372036854775807.0 + 1 | +---------------------------+ | 9223372036854775808.0 | +---------------------------+ 整数数值之间的减去
https://blog.csdn.net/robinson_0612/article/details/82823622 在MySQL关系型数据库中,MySQL支持的数据类型非常丰富。...它主要分为3大类,即:数值型,日期时间性,字符型。而实际上这三类数据类型可以进一步的细分扩展,可以根据业务需要选择最适合的一种。本文主要介绍数值类型,并演示其用法。...一、数值型 MySQL支持所有标准SQL的所有数值类型。在MySQL中,主要分为以下2大类。一类是整数类型,一类是浮点数类型,如下图所示。 ?...二、数值型演示 mysql> CREATE TABLE t_num -> ( -> id1 int, -> id2 int(4) ZEROFILL -> ); Query...,提示报错 -- 因为5表示的是总长度,而不是整数部分的长度 mysql> insert into t_num values(2,2,12345.32); ERROR 1264 (22003): Out
MySQL的字符串函数非常多,以至于有时候我不知道该如何灵活的使用这些函数。...如果需要把里面的数字提取出来,有什么好的办法呢。...第一个解法就是使用字符串的数据类型转换。...mysql> show warnings; +---------+------+-----------------------------------------------------+ | Level...,也是可以转换的。
Oracle 与 MySQL 的差异分析(6):数值函数 1 返回绝对值 Oracle & MySQL abs (x) 2 返回大于x的最小整数 Oracle & MySQL ceil (x...) 3 返回小于x的最大整数 Oracle & MySQL floor (x) 4 返回x/y的模 Oracle & MySQL mod (x, y) 5 四舍五入,返回N位小数 Oracle...& MySQL round (x, y),y 为返回的小数位数,如果不传y,则返回整数。...6.2 MySQL truncate (x, y),y 为返回的小数位数,是必选参数。...7.2 MySQL rand (),返回 0 - 1 的随机数。
phoenix的写法对数据类型限制比较严格,对于字符串类型,需要使用to_number将字符串转换成数字,但是在使用过程中,发现一个很奇怪的现象,那就是以整10为倍数的数据,比如说100,就会被显示成科学计数法...下面详细讲一下具体的问题。...首先,我的表在设计的时候,采用字符串来保存ID,但是另外一个表是采用BIGINT类型存储的,所有需要对该字段进行转换,转成数组,写法为:to_number(TRIM(f_test),'###0')。...),to_number('100','##########E0') from dwb.t_test where f_test4 = 3000700 在使用过程中,发现以整10为倍数的数据,比如说...后来才发现,这是Phoenix的一个bug,跟sql的写法无关,在正常使用中,并无发现异常情况,如果大家发现无法正常显示,可以使用to_char将数据转成字符串再显示出来就行。
官方的math 包中提供了取整的方法,向上取整math.Ceil() ,向下取整math.Floor() package main import ( "fmt" "math" ) func
大家好,又见面了,我是你们的朋友全栈君。 向上取整:比自己大的最小整数。 向下取整:比自己小的最大整数。
领取专属 10元无门槛券
手把手带您无忧上云