MySQL мод против PHP мод

отредактированный
Извините, ребята, я хочу, чтобы PHP мод отображал десятичные дроби

В MySQL select mod(15.6,1) результат 0.6 но в PHP 15.6 % 1 результат 0?

Моя цель — ограничить вычисление только точным целым числом, которое не допускает десятичные дроби

0

Решение

В PHP % Оператор модуля работает на целых числах. Операнды 15.6 и 1 приводятся к int (15 и 1) перед обработкой. Следовательно, 15% 1, как вы можете ожидать, дает 0. Поэтому «точное целое число, которое не допускает десятичные дроби» соответствует поведению в PHP.

В MySQL, как сказано в документации:

MOD () также работает со значениями, которые имеют дробную часть и возвращает точный остаток после деления

Следовательно, вы должны TRUNCATE (операнд, 0) операндов, прежде чем использовать их в MySQL для получения целочисленного поведения. Это согласуется с поведением PHP приведения к целым числам — числа обрезаются, а не разбиваются (что является существенной разницей с отрицательными числами).

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]