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. 全新升级的WiFi无线上网短信认证系统,适用于咖啡厅、足浴等公共场所,提高门门店营业收入

    WiFi无线上网短信认证系统经历从1.0到1.88的升级,都是用户在使用过程中,提出宝贵的意见,一直修复至今,有着非常稳定的版本. 这个软件有什么作用?WiFi为什么要认证呢? 其实这个只是获取用户联 ...

  2. js url?callback=xxx xxx的介绍

    由于安全的原因,浏览器做了很多方面的工作,由此也就引入了一系列的跨域问题,需要注意的是: 跨域并非浏览器限制了发起跨站请求,而是跨站请求可以正常发起,但是返回结果被浏览器拦截了.最好的例子是 CSRF ...

  3. kafka学习之-server.properties详细说明

    http://blog.csdn.net/lizhitao/article/details/25667831  -- 参考文章 http://kafka.apache.org/documentatio ...

  4. 【DL】几种参数优化方法的比较

    https://zhuanlan.zhihu.com/p/22252270 结尾的两张图不能更赞. PS:在用lstm做文本分类的时候,加了L2正则,把optim方法由之前的SGD换成Adam,效果提 ...

  5. 备忘录:在alpine上安装kvm

    原文:  https://wiki.alpinelinux.org/wiki/KVM     KVM is an open source virtualization solution in a ke ...

  6. win8.1的ie11无法打开127.0.0.1和本机IP访问

    解决方法:把ie11安全选项里的启动保护模式对勾去掉!

  7. 理解linux 块, i节点

    https://blog.csdn.net/zdf19/article/details/54424880 https://www.cnblogs.com/hnrainll/archive/2012/0 ...

  8. 【转】WCF OpenTimeout, CloseTimeout, SendTimeout, ReceiveTimeout

    关于这四个属性,在MSDN中的解释有点敷衍了事.Open/Close/Receive/Send本是HTTP/TCP/SOCKET的概念,Read/Write Operation则是Web Servic ...

  9. Dubbo -- 系统学习 笔记 -- 入门

    Dubbo -- 系统学习 笔记 -- 目录 入门 背景 需求 架构 用法 入门 背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行, ...

  10. vs2010,vs2012如何连接vss2005,vss2008

    打开vs2010.依次打开[工具]-[选项]-[源代码管理] 这个时候可以看到管理插件中有Microsoft Visual SourceSafe选项(若没有该选项,重新安装VSS即可). 连接上项目后 ...