echo $new_foo."

";

z445619791 2009-11-12 02:17:38

$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 />";


...全文
116 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tony-杨 2009-11-13
  • 打赏
  • 举报
回复
手册原话:

字符串转换为数值
当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值。

如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值。否则就被当作整数。

该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。合法数字数据由可选的正负号开始,后面跟着一个或多个数字(可选地包括十进制分数),后面跟着可选的指数。指数是一个“e”或者“E”后面跟着一个或多个数字。
tony-杨 2009-11-13
  • 打赏
  • 举报
回复
number_format($foo, 3, ".", ",")之后变成850,954.925
字串850,954.925转为数字为850
by_baby 2009-11-13
  • 打赏
  • 举报
回复
可能ROUND不能识别千位的,
z445619791 2009-11-13
  • 打赏
  • 举报
回复
不一样好不
$new_foo = number_format($foo, 3, ".", ",");
逗号
不一样啊
dzxccsu 2009-11-12
  • 打赏
  • 举报
回复
你的代码一模一样!

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧