PHP变量值求和时小数不相加

$sua=$vo['long']*$vo['wide']*$vo['qpcs']$suc=$co['qpcs']*$co['material']['gold']$sum=... $sua=$vo['long']*$vo['wide']*$vo['qpcs']
$suc=$co['qpcs']*$co['material']['gold']
$sum=$sua+$suc;

这样相加后结果就是后面的小数没有相加,其它正常,这是什么原因呢,没分了,求高手指点.
ba_you_01 不好意思,我这没分追问了,你后面的例子输出结果是对的,那我的为什么没有呢?我是新手,呵呵.
展开
 我来答
deathswj
2011-08-23 · TA获得超过103个赞
知道答主
回答量:106
采纳率:0%
帮助的人:100万
展开全部
floor() 函数向下舍入为最接近的整数。

$sua=$vo['long']*$vo['wide']*$vo['qpcs']
$suc=$co['qpcs']*$co['material']['gold']
$sum=floor($sua)+floor($suc);
追问
老大,按你的做了还是前面相加了,后面的小数没加,$sua和$sub 用var_dump() 是有小数的
追答
看错问题了,其实这个问题你需要的是转换思路,小数不好处理,那就把他变成不是小数啊,要保留几位小数就把数字乘上10的多少次方,都变成整数了就很好处理了,处理完之后再除一次,自然就变成了小数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
理叶孤丹pX
2011-08-23 · 超过61用户采纳过TA的回答
知道小有建树答主
回答量:152
采纳率:0%
帮助的人:150万
展开全部
使用var_dump($expression)输出是看一下你输出的是否是小数
更多追问追答
追问
echo $sum=number_format($sum, 2, ',', ' ')  我是这样写的输出725.00

用var_dump($sum) 结果是int(725)

怎么会这样呢?
追答
var_dump它包括数据类型,和值
int(725)
你的值为725,类型为int

再次建议你把
var_dump($sua)
var_dump($suc)
看一下值与类型
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
3211_204
2011-08-23 · TA获得超过586个赞
知道小有建树答主
回答量:1021
采纳率:100%
帮助的人:739万
展开全部
试试强制转换数值的类型。 floatval(),这类的函数。搜一下
更多追问追答
追问
$sua
$suc
这两个值中是有小数的呀
追答
就你这个例子,这两个数具体是哪两个值?不会加起来刚好是整数吧。哈哈哈。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式