PHP中float会截断尾随的零0?

xiaoqiao

今天遇到一个问题,客户端那边需要服务端的金额去支付,保留两位小数。这边返回的时候用number_format(0.10,2)看到是string类型的。客户端那边是强类型语言,想到要转成float返回过去。用float转换后0.10就变成了0.1。大家有什么好的解决方法吗?

216 5 0
5个回答

小杰

$format_num = sprintf("%.2f",$num)

  • xiaoqiao 2022-05-18

    谢谢,这样试过了得到还是string类型

人民资本家

你有点搞笑

liziyu

用整型的“分”作单位,或者用PHP的“数学扩展”。

adminv
chaz6chez

float类型就是这样的,这个属于展示,建议前端接收float类型的数据,格式化成对应的string类型,0.1属于float,0.10属于字符串,这样是没问题的,也本该这样

  • chaz6chez 2022-05-19

    本身接收数据且判断使用float没有毛病,但需要对应格式化展示,取决于前端展示成0.10或0.100或其他的都没问题,需要前端自己来做

  • xiaoqiao 2022-05-19

    谢谢

🔝