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 不好意思,我这没分追问了,你后面的例子输出结果是对的,那我的为什么没有呢?我是新手,呵呵. 展开
$suc=$co['qpcs']*$co['material']['gold']
$sum=$sua+$suc;
这样相加后结果就是后面的小数没有相加,其它正常,这是什么原因呢,没分了,求高手指点.
ba_you_01 不好意思,我这没分追问了,你后面的例子输出结果是对的,那我的为什么没有呢?我是新手,呵呵. 展开
展开全部
floor() 函数向下舍入为最接近的整数。
$sua=$vo['long']*$vo['wide']*$vo['qpcs']
$suc=$co['qpcs']*$co['material']['gold']
$sum=floor($sua)+floor($suc);
$sua=$vo['long']*$vo['wide']*$vo['qpcs']
$suc=$co['qpcs']*$co['material']['gold']
$sum=floor($sua)+floor($suc);
追问
老大,按你的做了还是前面相加了,后面的小数没加,$sua和$sub 用var_dump() 是有小数的
追答
看错问题了,其实这个问题你需要的是转换思路,小数不好处理,那就把他变成不是小数啊,要保留几位小数就把数字乘上10的多少次方,都变成整数了就很好处理了,处理完之后再除一次,自然就变成了小数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用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)
看一下值与类型
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试强制转换数值的类型。 floatval(),这类的函数。搜一下
更多追问追答
追问
$sua
$suc
这两个值中是有小数的呀
追答
就你这个例子,这两个数具体是哪两个值?不会加起来刚好是整数吧。哈哈哈。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询