Php 将标准数字转换为十进制

Php 将标准数字转换为十进制,php,mysql,decimal,Php,Mysql,Decimal,每当我在十进制字段中插入像:1这样的值时,它将立即拒绝它。PHP中是否有代码可以将值(比如1)转换为01.00或1.00。您案例中的示例用法: echo number_format(1, 2, '.', ''); 将在1点回音。现在,要在查询中使用它进行插入,请用引号将其括起来,并按如下方式操作: mysql_query("INSERT INTO tablename (Amount) VALUES ('" . number_format($your_number),

每当我在十进制字段中插入像:1这样的值时,它将立即拒绝它。PHP中是否有代码可以将值(比如1)转换为01.00或1.00。您案例中的示例用法:

echo number_format(1, 2, '.', '');
将在1点回音。现在,要在查询中使用它进行插入,请用引号将其括起来,并按如下方式操作:

mysql_query("INSERT INTO tablename (Amount)
             VALUES ('" . number_format($your_number), 2, '.', '') . "')";
是的,它叫。您案例中的示例用法:

echo number_format(1, 2, '.', '');
将在1点回音。现在,要在查询中使用它进行插入,请用引号将其括起来,并按如下方式操作:

mysql_query("INSERT INTO tablename (Amount)
             VALUES ('" . number_format($your_number), 2, '.', '') . "')";

为什么会拒绝呢?你是用引号还是什么来包装它?无论如何,要转换,请使用数字格式功能。

为什么它会拒绝它?你是用引号还是什么来包装它?无论如何,要转换,请使用number\u format函数。

将任何数字格式化为所需字符串表示形式的正确方法是sprintf函数:

将任何数字格式化为所需字符串表示形式的正确方法是sprintf函数:

您可以将数字转换为浮点,例如:

$x = (float) $x;
或:


您可以将数字转换为浮点数,例如:

$x = (float) $x;
或:

你可以这样做

$num = 1;
print number_format($num , 2);
你可以这样做

$num = 1;
print number_format($num , 2);

或者至少那将是最灵活的方式或者至少那将是最灵活的方式number_格式的返回值是一个字符串,因此这可能无法解决OP的问题。无论如何,数据库查询是一个大字符串,因此,在PHP中,数值是表示为字符串还是数字并不重要。@Pickle如果使用传统的sql语句,这是正确的,我不确定准备好的语句PDO/mysqli。无论如何,我从来没有遇到过这个问题,传统sql和PDO都没有,所以我猜sql和数字本身都有问题。数字格式的返回值是一个字符串,所以这可能无法解决OP的问题。无论如何,数据库查询是一个大字符串,因此,在PHP中,数值是表示为字符串还是数字并不重要。@Pickle如果使用传统的sql语句,这是正确的,我不确定准备好的语句PDO/mysqli。无论如何,我从来没有遇到过这个问题,传统的sql和PDO都没有,所以我猜sql和数字本身都有问题。number_格式的返回值是字符串,所以这可能无法解决OP的问题。这段代码很有效,也感谢这个示例;我只能在7分钟内点击嘀嗒声。如果他正确地准备他的陈述,这并不重要,因为SQL是一个字符串本身。@ DogPooOnYourShoe,很好地知道:如果你喜欢它,你也可以考虑投票表决。@布瑞恩H,真的,我必须承认,我自己从来没有遇到过这个问题……number_格式的返回值是一个字符串,因此这可能无法解决OP的问题;我只能在7分钟内点击嘀嗒声。如果他正确地准备他的陈述,这并不重要,因为SQL是一个字符串本身。@ DogPooOnYourShoe,很好地知道:你也可以考虑投票,如果你喜欢它。“布瑞恩H,真的,我必须承认我自己从来没有遇到过这个问题……