php - 使用 sprintf 和 Mysql

标签 php mysql sql

将浮点变量写入 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 的类型不是十进制或无符号,而是应为 varchartext 类型,因为它应该是这样的存储字符串而不是数字。数字不应在小数点后存储尾随 0

关于php - 使用 sprintf 和 Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25476498/

相关文章:

PHPUnit assertTrue 问题

PHP MYSQL 组合字符串

Mysql查看变量

PHP/MYSQL 并行代码/查询执行

mysql - 来自自连接表和另一个 MySQL 的结果集

sql - INSTEAD OF INSERT 触发器和标识列使用 View

php - CodeIgniter MySQL 查询不返回任何数据,即使肯定有数据要返回!

mysql - 无法检索 Wildfly、Arquillian 设置中的 JPA 实体

mysql - 如何在案例条件mysql上定义别名

php - 如何使用 Carbon 日期时间扩展通过将数据库中的生日月份与 laravel 中的当前月份匹配来获取数据?