Вы можете сделать это следующим образом:
double d = 4.0;
DecimalFormat df = new DecimalFormat("#.##");
System.out.print(df.format(d));
Комментарии к документация PHP относительно mysqli_stmt::bind_param
указывает, что передача в NULL
не была легко возможна.
см. ответ @creatio: https://<час> stackoverflow.com/a/6892491/18771
Решения, предлагаемые в комментариях, делают некоторая предварительная подготовка работает над подготовленным оператором, заменяя эти "?"
маркеры с "NULL"
для каждого параметрического усилителя, который имеет значение PHP null
. Измененная строка запроса затем используется.
следующая функция от комментарий пользователя 80119 :
function preparse_prepared($sQuery, &$saParams)
{
$nPos = 0;
$sRetval = $sQuery;
foreach ($saParams as $x_Key => $Param)
{
//if we find no more ?'s we're done then
if (($nPos = strpos($sQuery, '?', $nPos + 1)) === false)
{
break;
}
//this test must be done second, because we need to
//increment offsets of $nPos for each ?.
//we have no need to parse anything that isn't NULL.
if (!is_null($Param))
{
continue;
}
//null value, replace this ? with NULL.
$sRetval = substr_replace($sRetval, 'NULL', $nPos, 1);
//unset this element now
unset($saParams[$x_Key]);
}
return $sRetval;
}
(Это не действительно стиль кодирования, я выполнил бы в нем, но если это работает...)
рядом со мной, я сохраняю все параметры в массиве и передаю их в функцию Bind_param с помощью array_shift ($ myArray). NULL так принимается .. С.