2011-01-24 3 views

ответ

2

Да, это называется number_format. Обычая образец в вашем случае:

echo number_format(1, 2, '.', ''); 

1.00 отзовется. Теперь, чтобы использовать его в запросе, чтобы вставить, окружить его в кавычки, и сделать это так:

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

Возвращаемое значение 'number_format()' является строкой, поэтому, вероятно, не решит проблему OP. – jeroen

+0

Этот код работал, спасибо за пример тоже;) Я могу нажать только галочку за 7 минут. – DogPooOnYourShoe

+0

Не имеет значения, правильно ли он готовит свои утверждения, поскольку SQL - это сама строка. –

0

Почему бы это отвергнуть его? Вы обертываете его кавычками или чем-то еще? В любом случае, чтобы преобразовать, используйте функцию number_format().

+0

Возвращаемое значение 'number_format()' является строкой, поэтому, вероятно, не решит проблему OP. – jeroen

+0

Запрос базы данных в любом случае является большой строкой, поэтому, независимо от того, представлено ли числовое значение в PHP как строка или номер, это не имеет значения. – Pickle

+0

@Pickle Это верно, если вы используете обычный SQL-оператор, я не уверен в подготовленном заявлении (PDO/mysqli). Во всяком случае, у меня никогда не было этой проблемы, ни с обычным sql, ни с PDO, поэтому я предполагаю, что возникла проблема с sql и не столько с самим номером. – jeroen

1

правильный способ форматирования любого числа до требуемого представления строки функция Sprintf: http://ru2.php.net/sprintf

+0

или, по крайней мере, это было бы самым гибким способом –

1

Вы можете привести ряд к поплавку, как, например:

$x = (float) $x; 

или:

$x = floatval($x); 
0

вы можете сделать это

$num = 1; 
print number_format($num , 2); 
Смежные вопросы