将浮点变量写入 MySql 时遇到一些问题,
我尝试输入的数字有 8 个尾随零,即:0.00026400
我需要将数字写入 MySql 表,并保持所有零不变。
我使用 printf 函数在回显之前添加尾随零,这工作正常并且会回显 0.00026400:
printf("%0.8f", $lastMinuteCount);
为了获得可以写入 Mysql 数据库的格式化数字,我使用 sprintf,如下所示:
$lastCountFormatted = sprintf("%0.8f", $lastMinuteCount);
如果我回显这一点,它也可以正常工作并打印:0.00026400
但是当我将其插入 MySql 查询时,它会发出 0 并输入:0.000264
UPDATE `the_table`
SET `1` = '$lastCountFormatted'
WHERE coinSymbol = '$coinSymbol'"
关于我做错了什么有什么想法吗?我知道我可以在从数据库中提取数字后对其进行格式化,但如果可以的话,我宁愿在输入时对其进行格式化。
一如既往地感谢您的任何建议!
最佳答案
请确保列 1
的类型不是十进制或无符号,而是应为 varchar
或 text
类型,因为它应该是这样的存储字符串而不是数字。数字不应在小数点后存储尾随 0。
关于php - 使用 sprintf 和 Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25476498/