Арифметические операции с float
приводят к float
.
int + float = float
int * float = float
float * int = float
int / float = float
float / int = float
int / int = int
Для более подробного ответа. Посмотрите, что говорится в разделе §5 / 9 из стандарта C ++.
Многие двоичные операторы, которые ожидают операндов арифметического или перечисляемого типа, вызывают преобразования и вызывают типы результатов аналогичным образом. Цель состоит в том, чтобы дать общий тип, который также является типом результата.
Этот шаблон называется обычными арифметическими преобразованиями, которые определяются следующим образом:
- если либо операнд имеет тип long double, другой должен быть преобразован в длинный двойной.
- В противном случае, если один из операндов является двойным, другой должен быть преобразован в double.
- В противном случае, если любой операнд является float, другой должен быть преобразован в float.
- В противном случае интегральные рекламные акции (4.5) должны выполняться на обоих операндах. [54]
. Затем, если любой из операндов без знака длинный, другой должен быть преобразован в unsigned long.
- В противном случае, если один операнд является длинным int и другим беззнаковым int, то если long int может представлять все значения unsigned int, unsigned int преобразуется в long int; в противном случае оба операнда должны быть преобразованы в unsigned long int.
- В противном случае, если один из операндов длинный, другой должен быть преобразован в длинный.
- В противном случае, если любой из операндов без знака, другой должен быть преобразован в unsigned.
[Примечание: в противном случае единственным оставшимся случаем является то, что оба операнда являются int]
blockquote>
Я бы сказал, что проблема в том, что вам нужно сохранить другие потенциальные параметры получения ...
Вероятно, что-то подобное может сработать:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^(.*)&?css=(mobile|desktop)(.*)$
RewriteRule ^/?(.*)$ /$1?%1%2 [R=301,L,QSD]
Этот набор правил должен работать аналогично в конфигурации хоста http-серверов, а также в файлах динамической конфигурации (файлы стиля .htaccess), если вам нужно использовать те (которые вы должны попытаться предотвратить ...).
Вот модифицированная версия с фиксированным условием, указанным @MrWhite в комментарии:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^(.*?)&?css=(?:mobile|desktop)(.*)$
RewriteRule ^/?(.*)$ /$1?%1%2 [R=301,L,QSD]