今天遇到一个问题,客户端那边需要服务端的金额去支付,保留两位小数。这边返回的时候用number_format(0.10,2)看到是string类型的。客户端那边是强类型语言,想到要转成float返回过去。用float转换后0.10就变成了0.1。大家有什么好的解决方法吗?
$format_num = sprintf("%.2f",$num)
谢谢,这样试过了得到还是string类型
你有点搞笑
你有点高傲
用整型的“分”作单位,或者用PHP的“数学扩展”。
谢谢,我试试
https://hu60.cn/q.php/bbs.topic.89480.html
或使用bc*函数
bc 函数 返回也是 string 类型
谢谢
float类型就是这样的,这个属于展示,建议前端接收float类型的数据,格式化成对应的string类型,0.1属于float,0.10属于字符串,这样是没问题的,也本该这样
本身接收数据且判断使用float没有毛病,但需要对应格式化展示,取决于前端展示成0.10或0.100或其他的都没问题,需要前端自己来做
$format_num = sprintf("%.2f",$num)
谢谢,这样试过了得到还是string类型
你有点搞笑
你有点高傲
用整型的“分”作单位,或者用PHP的“数学扩展”。
谢谢,我试试
https://hu60.cn/q.php/bbs.topic.89480.html
或使用bc*函数
bc 函数 返回也是 string 类型
谢谢
float类型就是这样的,这个属于展示,建议前端接收float类型的数据,格式化成对应的string类型,0.1属于float,0.10属于字符串,这样是没问题的,也本该这样
本身接收数据且判断使用float没有毛病,但需要对应格式化展示,取决于前端展示成0.10或0.100或其他的都没问题,需要前端自己来做
谢谢