一般交易中保留的数字的小数位数为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规定用作千位分隔符的字符串,

    //注释:如果设置了该参数,那么所有其他参数都是必需的。])

不四舍五入:

  

    $format_num = sprintf("%.2f",substr(sprintf("%.3f", $num), 0, -1));
       var_dump($format_num); //string '4545.13'
     

取整

    ceil() 向上取整
    floor() 向下取整

mysql 和php 保留2位小数的更多相关文章

  1. Mysql计算并保留两位小数

    如:123456.789 转成 123456.79 自动,));

  2. layui table 前台数字格式保留两位小数,不足补0(mysql 数据库)

    layui table 对于后台json数据,有数字的,默认不会原样显示,而是只取数值,即100.00显示为100.如果想原样显示,需转为字符串. 项目采用mysql数据库,字段类型为decimal( ...

  3. mysql保留2位小数字段如何设置 浮点数

    保留2位小数字段如何设置 方法1: select cast(avg(75.3333333) as decimal(10,2)) as '平均分' );#format第一个参数传递浮点数

  4. mysql保留两位小数

    --这个是保留整数位 SELECT CONVERT(4545.1366,DECIMAL); --这个是保留两位小数 ,)); --这个是截取两位,并不会四舍五入保留两位小数 );

  5. MySQL保留2位小数

    1.round(x,d),四舍五入.round(x) ,其实就是round(x,0),也就是默认d为0 select round(110.35,1); # 110.4 2.TRUNCATE(x,d), ...

  6. js验证输入的是否是数字,小数保留几位小数

    1.验证方法 validationNumber(e, num)  e代表标签对象,num代表保留小数位数 function validationNumber(e, num) { -]+\.?[-]*$ ...

  7. java使double保留两位小数的多方法 java保留两位小数

    这篇文章主要介绍了java使double类型保留两位小数的方法,大家参考使用吧 复制代码 代码如下: mport java.text.DecimalFormat; DecimalFormat    d ...

  8. PHP保留2位小数 格式化小数、浮点数

    JS保留两位小数例子 四舍五入使用函数 toFixed() <html> <head> </head> <script language="java ...

  9. js保留两位小数

    js保留两位小数四舍五入: (Math.floor(until_price*100)/100).toFixed(2);//会四舍五入   保留两位小数 且不四舍五入(三种方式,请用最后一种): var ...

随机推荐

  1. DamonOehlman/detect-browser

    https://github.com/DamonOehlman/detect-browser detect-browser This is a package that attempts to det ...

  2. day20 Python 装饰器

    装饰器:本质就是函数,为其他函数添加附加功能,一个原则是不修改函数的源代码,另外一个原则是不修改被修饰函数的调用功能 装饰器=高阶函数+函数嵌套+闭包 前戏 import time def cal(l ...

  3. 项目Alpha冲刺 1

    作业描述 课程: 软件工程1916|W(福州大学) 作业要求: 项目Alpha冲刺(团队) 团队名称: 火鸡堂 作业目标: 进行github实战训练,锻炼团队合作能力 1.团队信息 队名:火鸡堂 队员 ...

  4. PAT A1103 Integer Factorization (30 分)——dfs,递归

    The K−P factorization of a positive integer N is to write N as the sum of the P-th power of K positi ...

  5. Html5 标签四 (列表)

    1.有序列表 2.无序列表 3.自定义列表 <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  6. 置顶博客一览表($My~Top~List$)

    咳,主要是因为我觉得置顶博客太多了让人很晕233 以下是(伪)置顶的博客: 笙上月 \(\color{red}{Link}\) 笔下梅 \(\color{red}{Link}\) 老年\(OIer\) ...

  7. java 二维数组和对象数组

    1.二维数组:二维数组就是存储一维数组(内存地址/引用)的数组 2.二维数组的初始化 1) int intA[][]={{1,2},{2,3},{3,4,5}}; 2) int [][] intB=n ...

  8. kubernetes session回话保持

    1.Nginx 版本 root@ingress-nginx-controller-4b75b:/# /usr/sbin/nginx -vnginx version: nginx/1.13.9 2.in ...

  9. 使用 WebSocket 客户端连接 MQTT 服务器

    简介 近年来随着 Web 前端的快速发展,浏览器新特性层出不穷,越来越多的应用可以在浏览器端或通过浏览器渲染引擎实现,Web 应用的即时通信方式 WebSocket 得到了广泛的应用. WebSock ...

  10. maven 基础

    maven安装链接 maven基础命令: 编译命令:mvn compile 测试命令:mvn test 清空命令:mvn clean 打包命令:mvn package 打包命令:mvn install ...