1. php判断是否为数字

is_numeric() 这个函数就是检测参数是否为数字,如果是就返回true,如果不是就返回false

is_numeric( 'abcd123' ) or die('提供的参数不是数字');

使用正则表达式匹配,匹配成功就是数字,返回true,匹配不成功就不是数字,返回false

preg_match('/^\d+$/i', 'abcd123') or die('提供的数据不是数字');

 2.递归去除字符串的第一个字符

       /**
* 递归去除字符串的第一个字符,生成"分词"切片
* @param $str 要"分词"拆分的字符串
* @param int $length 支持搜索的"尾号"长度
* @param array $slice 返回的"分词"数组
* @return array
*/
private function _subToSlice($str, $length = 4, $slice = array())
{
$str = strval($str);
$slice[] = $str;
if (strlen($str) > $length) {
$str = substr($str, 1);
return $this->_subToSlice($str, $length, $slice);
}
return $slice;
}

 3. PHP数字价格格式化,保留两位小数

  使用方法为number_format(12,2),如果需要四舍五入,可以使用round函数配合。

语法: string number_format(float number, int [decimals], string [dec_point], string [thousands_sep]);

本函式用来将浮点参数 number 格式化。

若没加参数 decimals 则传回的字串只要整数部份,加了此参数才依参数指定的小数点位数传回。


数 dec_point 表示小数点的表示方式方法,内定值是 ”.”,若需要转换成其它的小数点就可以在这个参数改掉。


数 thousands_sep 为整数部份每三位的分隔符号,内定值是 ”,”。如果没什么特殊要求,又要进行运算的话最好设置为空。

本函式最特别的地方就是参数数目,最少要有一个,也就是欲格式化的字
串;也可以有二个或者四个参数,但不能用三个参数。

值得注意的是指定小数点的位数之后的数字直接舍弃,没有四舍五入的情形

<?php
  echo number_format("1000000");
  echo number_format("1000000",2);
  echo number_format("1000000",2,",",".");
  echo number_format("1000000",2,"*",".");
  echo number_format("1000000",2,".","");
?>

输出:

1,000,000
1,000,000.00
1.000.000,00
1.000.000*00
1000000.00

随机推荐

  1. Java排序算法——堆排序

    堆排序 package sort; public class Heap_Sort { public static void main(String[] args) { // TODO 自动生成的方法存 ...

  2. Android 知识梳理

    说明:本篇博客只是一个知识整理,因为网上对于Android的知识介绍足够多,因此我不再写相关文章(主要是因为我写的不如人家好),所以所有文章均来自网络,不贴原文章,只提供连接,因此本文旨在减少你对相关 ...

  3. MFC中CString.Format的详细用法

          本文转载自:http://blog.csdn.net/wangkaishou/article/details/5846152,感谢网友 Technorati 标签: CString For ...

  4. [转]CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器?

    CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器? 转自这里 一.为什么要这么做? 最近在做Linux下的软件开发,但又想使用Windows下的编程工具“Source Insi ...

  5. 【转】Redis集群搭建与简单使用

    介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. 两台虚拟机都是 CentOS ,一台 ...

  6. 使用pycharm,追求最优的代码。

    1.最近追求的是代码0警告,没有任何提示. 怎么追求这样的目标,不需要再去单独使用pylint和flake8这些玩意,只需要看pycharm右边编辑区的竖向滚动条的黄色就可以了. 2. 比较糟糕的就是 ...

  7. python concurrent.futures包使用,捕获异常

    concurrent.futures的ThreadPoolExecutor类暴露的api很好用,threading模块抹油提供官方的线程池.和另外一个第三方threadpool包相比,这个可以非阻塞的 ...

  8. Oracle如何实现跨库查询

    实现结果:在一个数据库中某个用户下编写一个存储过程,在存储过程中使用DBLINK连接另一个数据库,从此数据库中的一个用户下取数,然后插入当前的数据库中的一个表中. 二. 实现方法步骤: 1. 创建存储 ...

  9. 7 -- Spring的基本用法 -- 8... 抽象Bean与子Bean;Bean继承与Java继承的区别;容器中的工厂Bean;获得Bean本身的id;强制初始化Bean

    7.8 深入理解容器中的Bean 7.8.1 抽象Bean与子Bean 把多个<bean.../>配置中相同的信息提取出来,集中成配置模版------这个配置模版并不是真正的Bean,因此 ...

  10. 给button添加边框和圆角

    button是我们经常用到的控件,我把它的属性罗列一下: UIButton *Button = [[UIButton alloc] initWithFrame:CGRectMake(, , , )]; ...