84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
大神看图 我用foreach遍历数组后 对一个价格做处理 用number_format()先将小数转换为一位小数的再用sprintf()给小数的第二位补0
但是问题来了 用foreach赋值的变量 最后输出的值就莫名其妙的成了1.00但是直接给一个变量赋值一个字符串类型的小数或者浮点型的小数 最后输出就是正常的 我搞不明白了。。。求助
小伙看你根骨奇佳,潜力无限,来学PHP伐。
没明白你什么意思,直接number_format($val, 2)不就行了吗?为什么还要sprintf('%.2f', $str)呢?number_format会自动进行四舍五入的,所以number_format(0.97, 1)的结果是1.0,再sprintf就是1.00,有什么问题么?如果你是为了去掉千分位的分隔符,可以用 number_format($val, 2, '', '.')这种方式。
1,350.2 和 1350.2 是不一样的吧。
显然跟那个逗号有关系啊
问题解决了,和1,345.23的那个逗号有关系,昨晚只注意数据类型了,忘了那个逗号的问题了用 number_format($temp,1,'.','') 就可以完美解决这个问题了
number_format($temp,1,'.','')
没明白你什么意思,直接number_format($val, 2)不就行了吗?为什么还要sprintf('%.2f', $str)呢?number_format会自动进行四舍五入的,所以number_format(0.97, 1)的结果是1.0,再sprintf就是1.00,有什么问题么?
如果你是为了去掉千分位的分隔符,可以用 number_format($val, 2, '', '.')这种方式。
1,350.2 和 1350.2 是不一样的吧。
显然跟那个逗号有关系啊
问题解决了,和1,345.23的那个逗号有关系,昨晚只注意数据类型了,忘了那个逗号的问题了
用
number_format($temp,1,'.','')
就可以完美解决这个问题了