Преобразование входного числа в Mysql decimal

Я пытаюсь сохранить десятичные числа, взятые из input в десятичной строке Mysql (10,2). Но когда я ввожу 37.50 на вход, Mysql сохраняет только 37.00 Кажется, что все пренебрегают после точки. Как хранить десятичные знаки?

этот ввод

<input class='form-control formBlock' name='payrate' value='' step="0.01" type='number' placeholder="Pay Rate..." required>

До сих пор я пробовал float:

$payrate=floatval($_POST['payrate']);

Ответ 1

Непонятно, что вы просите. (Был ли вопрос? Или все это просто предназначалось как отчет о состоянии?)

В числовом контексте...

MySQL интерпретирует символ "точка" в числовом литерале как десятичную точку.

MySQL интерпретирует символ "запятая" как недопустимый. MySQL читает значение слева направо до тех пор, пока оно не попадет на недопустимый символ и не примет значение, которое оно прочитало.

В качестве демонстрации рассмотрим

SELECT '123,456.78' + 0     --> 123
SELECT '4t2' + 0            --> 4

Если нам нужно передать числовое значение в MySQL, содержащее запятые, и мы хотим, чтобы MySQL игнорировал запятые, мы можем удалить запятые

SELECT REPLACE('123,456.78',',','') + 0  -->  123456.78

Если мы хотим, чтобы запятая рассматривалась как десятичный разделитель, мы можем заменить ее символом точки

SELECT REPLACE('456,78',',','.') + 0  -->  456.78

Конечно, мы могли бы также выполнить эту манипуляцию и очистить значение в клиенте, прежде чем передать значение MySQL.

Не уверен, что какое-либо из ответов отвечает на заданный вами вопрос. Был ли вопрос?