$foo=850954.9245;
$new_foo = number_format($foo, 3, ".", ",");
echo $new_foo."<p />";
$new_foo = round($new_foo,2);
echo $new_foo."<p />";
帮忙看下这代码  round是四舍五入函数 但是运行却不正确
去掉分割符后下面代码是正确的  各位大虾帮忙看看 解释下 这是什么原因$foo=850954.9245;
$new_foo = number_format($foo, 3, ".", "");
echo $new_foo."<p />";
$new_foo = round($new_foo,2);
echo $new_foo."<p />";

解决方案 »

  1.   

    不一样好不 
    $new_foo = number_format($foo, 3, ".", ",");    
    逗号
    不一样啊
      

  2.   

    number_format($foo, 3, ".", ",")之后变成850,954.925
    字串850,954.925转为数字为850
      

  3.   

    手册原话:字符串转换为数值
    当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值。 如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值。否则就被当作整数。 该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。合法数字数据由可选的正负号开始,后面跟着一个或多个数字(可选地包括十进制分数),后面跟着可选的指数。指数是一个“e”或者“E”后面跟着一个或多个数字。