mysql 和php 保留2位小数
一般交易中保留的数字的小数位数为2位(即最小单位为 1分钱【0.01元】)
数据库设计中预金钱有关或要求精准度要高的用 decimal(n,m) 表示,n表示保留的数字长度,保留的小数位数,如decimal(5,2) 对应的最大值 999.99
然而在mysql 中进行浮点数计算时,数据就需要进行截取保留
以下是一些保留小数位数的方法
mysql中:
方法一:truncate() 直接截取不四舍五入
select truncate(4545.1366,2);
运行结果:4545.13
方法二:FORMAT() 四舍五入,整数部分超过三位的时候以逗号分割,并且返回的结果是string类型的。
select FORMAT(4545.1366,2);
运行结果:4,545.14
方法三:四舍五入 ,适合金钱保留计算
select convert(4545.1366,decimal(6,2));
运行结果:4545.14
备注:
MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。
CAST(value as type);
CONVERT(value, type);
可以转换的类型(type)是有限制的。这个类型可以是以下值其中的一个:
- 二进制,同带binary前缀的效果 : BINARY
- 字符型,可带参数 : CHAR()
- 日期 : DATE
- 时间: TIME
- 日期时间型 : DATETIME
- 浮点数 : DECIMAL
- 整数 : SIGNED
- 无符号整数 : UNSIGNED
PHP中:
四舍五入法:
$num = 4545.1366;
//第一种:利用round()对浮点数进行四舍五入
var_dump(round($num,2)); //float 4545.14
//第二种:利用sprintf格式化字符串
$format_num = sprintf("%.2f",$num);
var_dump($format_num); //string '4545.14'
//第三种:利用千位分组来格式化数字的函数number_format()
var_dump(number_format($num, 2)); //string '4,545.14'
//或者如下
var_dump(number_format($num, 2, '.', ''));// string '4,545.14'
//number_format(float number, int [decimals], string [dec_point规定用作小数点的字符串], string [thousands_sep规定用作千位分隔符的字符串,
//注释:如果设置了该参数,那么所有其他参数都是必需的。])
不四舍五入:
取整
mysql 和php 保留2位小数的更多相关文章
- Mysql计算并保留两位小数
如:123456.789 转成 123456.79 自动,));
- layui table 前台数字格式保留两位小数,不足补0(mysql 数据库)
layui table 对于后台json数据,有数字的,默认不会原样显示,而是只取数值,即100.00显示为100.如果想原样显示,需转为字符串. 项目采用mysql数据库,字段类型为decimal( ...
- mysql保留2位小数字段如何设置 浮点数
保留2位小数字段如何设置 方法1: select cast(avg(75.3333333) as decimal(10,2)) as '平均分' );#format第一个参数传递浮点数
- mysql保留两位小数
--这个是保留整数位 SELECT CONVERT(4545.1366,DECIMAL); --这个是保留两位小数 ,)); --这个是截取两位,并不会四舍五入保留两位小数 );
- MySQL保留2位小数
1.round(x,d),四舍五入.round(x) ,其实就是round(x,0),也就是默认d为0 select round(110.35,1); # 110.4 2.TRUNCATE(x,d), ...
- js验证输入的是否是数字,小数保留几位小数
1.验证方法 validationNumber(e, num) e代表标签对象,num代表保留小数位数 function validationNumber(e, num) { -]+\.?[-]*$ ...
- java使double保留两位小数的多方法 java保留两位小数
这篇文章主要介绍了java使double类型保留两位小数的方法,大家参考使用吧 复制代码 代码如下: mport java.text.DecimalFormat; DecimalFormat d ...
- PHP保留2位小数 格式化小数、浮点数
JS保留两位小数例子 四舍五入使用函数 toFixed() <html> <head> </head> <script language="java ...
- js保留两位小数
js保留两位小数四舍五入: (Math.floor(until_price*100)/100).toFixed(2);//会四舍五入 保留两位小数 且不四舍五入(三种方式,请用最后一种): var ...
随机推荐
- UVA1451 Average
嘟嘟嘟 看到比值,就想到01分数规划,令\(ans = \frac{\sum a_i}{\sum l_i}\),其中\(l\)表示长度,所以\(l_i\)都是\(1\). 然后变一下型,得到\(\su ...
- dirty_background_ration 与 /proc/sys/vm/dirty_ratio
wappiness的值的大小对如何使用swap分区是有着很大的联系的.swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用s ...
- Arduino IDE for ESP8266 ()esp8266项目 WIFI攻击器
https://www.wandianshenme.com/play/esp8266-nodemcu-create-portable-wifi-jammer/ 使用 ESP8266 制作 WiFi 干 ...
- day15 Python全局变量和局部变量
在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 当全局变量与局部变量同名时: 在定义局部变量的子程序内,局部变 ...
- iptables四表五链及默认规则使用,
网络基础 TCP/IP模型: 应用层===传输层===网络层===数据链里层===物理层 数据封装: MAC帧头+IP报头+TCP/UDP报头===HTTP请求 数据帧 TCP/UDP报头: 随机产生 ...
- StringRedisTemplate操作redis数据
StringRedisTemplate与RedisTemplate区别点 两者的关系是StringRedisTemplate继承RedisTemplate. 两者的数据是不共通的:也就是说String ...
- mysql基础讲解
- 一篇自己都看不懂的CDQ分治&整体二分学习笔记
作为一个永不咕咕咕的博主,我来更笔记辣qaq CDQ分治 CDQ分治的思想还是比较简单的.它的基本流程是: \(1.\)将所有修改操作和查询操作按照时间顺序并在一起,形成一段序列.显然,会影响查询操作 ...
- Luogu3209 HNOI2010 平面图判定 平面图、并查集
传送门 题意:$T$组数据,每组数据给出一个$N$个点,$M$条边,并存在一个$N$元环的图,试判断其是否为一个可平面图(如果存在一种画法,使得该图与给出的图同构且边除了在顶点处以外互相不相交,则称其 ...
- 数列分块入门九题(一):LOJ6277~6279
Preface 分块,一个神奇的暴力算法.可以把很多\(O(n^2)\)的数据结构题的暴力优化到常数极小的\(O(n\sqrt n)\).当一些毒瘤题无法用线段树,主席树,平衡树,树状数组...... ...