我有一个带有值的隐藏字段。因为它是一个隐藏字段,所以我的值是一个字符串。在我的数据库中,该值存储为精度为 2 点的小数字段。
查看
<tr class="grand-total">
<th>Total incl. 21% BTW:</th>
<?php $total = number_format($cartTotal, 2, ',', '') ?>
<td><strong class="grey-color">€{{$total}}</strong></td>
</tr>
<input type="hidden" name="total" value={{$total}}>
Controller
例如,当我的总数是 10.95 欧元时,我得到 10.00 欧元。
我尝试过的事情:
(float)$request->total
floatval($request->total)
floatval($request->total * 1.00)
但这些都返回 10 欧元。
最佳答案
虽然这不能直接回答问题,但确实可以从更长远的角度解决问题。
考虑存储没有小数点的金额 - 所以$10.00
在您的数据库中实际上存储为1000
。
您还可以使用 PHP 中的内置函数,例如 money format只要设置您的本地货币以真正解决这个问题。
What are the downsides to storing money values as cents / minor units?
关于php - 无法在 PHP 中将字符串转换为 float - Laravel 5.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36907889/