zoukankan      html  css  js  c++  java
  • php 中类型转换 numfamat、round函数tips

    在开发过程中,我们经常需要处理一些金额数值,一般将其格式化为保留两位小数点。 在PHP中,有number_format(), round()这么两个函数可以使用。

           最直接的是round()这个函数,其作用是对浮点数进行四舍五入。

           round(x, prec), 第一个参数是需要进行四舍五入的数值,第二个参数是要保留的小数点位数,例如round(3.158, 2)的结果是3.16, 这里需要注意的是参数x不能是'12,300.2'这样的字符串。

           这里要介绍的另一个函数是number_format(),其作用是对数字进行格式化,注意这里的格式化是千位分组,返回的结果是字符串。

                number_format(number, decimals, decimalpoint, separator),第一个参数是需要格式化的数值,后三个参数都为可选,依次是小数位数、用作小数点的字符串、用作千分位的字符串。

                第一次使用这个函数来处理金额数值的时候,我是使用的number_format(number, 2),目的是要将数值格式化为带两位小数的,测试结果也是满足我的需要。但是,当number的数值变为5000的时候,就报错了。原因在于number_format(5000, 2)的返回结果是‘5,000.00’,显然是字符串,将数值传递至前端,js对其进行数学运算的时候就会报错。
    ---------------------
    作者:Levy_96
    来源:CSDN
    原文:https://blog.csdn.net/Levy_96/article/details/52658463
    版权声明:本文为博主原创文章,转载请附上博文链接!

    PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: (int)、(integer):转换成整形 (float)、(double)、(real):转换成浮点型 (string):转换成字符串 (bool)、(boolean):转换成布尔类型 (array):转换成数组 (object):转换成对象 PHP数据类型有三种转换方式: 在要转换的变量之前加上用括号括起来的目标类型 使用3个具体类型的转换函数,intval()、floatval()、strval() 使用通用类型转换函数settype(mixed var,string type) 第一种转换方式: (int) (bool) (float) (string) (array) (object)

    <?php $num1=3.14; $num2=(int)$num1; var_dump($num1); //输出float(3.14) var_dump($num2); //输出int(3) ?> 第二种转换方式: intval() floatval() strval() <?php $str="123.9abc"; $int=intval($str); //转换后数值:123 $float=floatval($str); //转换后数值:123.9 $str=strval($float); //转换后字符串:"123.9" ?> 第三种转换方式: settype();

    <?php $num4=12.8; $flg=settype($num4,"int"); var_dump($flg); //输出bool(true) var_dump($num4); //输出int(12) ?> 补充: 判断字符串全部由数字组成 <?php $str = "123" if(ereg('^[0-9]+$', $str)) { // true } ?>

    ereg()函数用指定的模式搜索一个字符串中指定的字符串,如果匹配成功返回true,否则,则返回false。搜索字母的字符是大小写敏感的。

    int ereg(string pattern, string originalstring, [array regs]);

    例,$email_id = "admin@tutorialspoint.com";

        $retval = ereg("(.)(com$)", $email_id);

    ereg()限制password的格式,只能是数字或者字母。但ereg()函数存在NULL截断漏洞,可以使用%00绕过验证。

    这里ereg有两个漏洞:

        ①%00截断及遇到%00则默认为字符串的结束

        ②当ntf为数组时它的返回值不是FALSE

    另外提示,科学计数法的表示是

    1e9=1000000000

    e一定是小写
    ---------------------
    作者:qq_25987491
    来源:CSDN
    原文:https://blog.csdn.net/qq_25987491/article/details/79952393
    版权声明:本文为博主原创文章,转载请附上博文链接!

     

     

  • 相关阅读:
    放大镜功能
    background兼容IE9以下版本
    JSON解析
    vue.js 组件-全局组件和局部组件
    i++ ++i的原子性
    【转】程序员面试笔试宝典
    【转】函数调用栈 格式化操作
    【转】TCP三次握手过程
    一些面试题
    【转】HP(惠普)大中华区总裁孙振耀退休感言
  • 原文地址:https://www.cnblogs.com/qianqian-li/p/10136199.html
Copyright © 2011-2022 走看看