84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
大神看图 我用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,'.','')
就可以完美解决这个问题了