Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° (%) Π² языкС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ β€” это Π½Π΅ просто Π·Π½Π°ΠΊ для обозначСния Π΄ΠΎΠ»Π΅ΠΉ. Он выполняСт сразу нСсколько Ρ€ΠΎΠ»Π΅ΠΉ: ΠΎΡ‚ форматирования строк Π΄ΠΎ выполнСния арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Новички часто ΠΏΡƒΡ‚Π°ΡŽΡ‚ Π΅Π³ΠΎ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ модуля ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования, Π° ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΅Π³ΠΎ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ примСнСния % Π² 1Π‘ 8.3 ΠΈ 1Π‘ 7.7, ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΠΌ ΠΎ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ….

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ 1Π‘ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ здСсь % Π½Π΅ ограничиваСтся ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ. Он Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ строк (Π°Π½Π°Π»ΠΎΠ³ printf Π² C), Π² рСгулярных выраТСниях ΠΈ Π΄Π°ΠΆΠ΅ Π² запросах. ΠŸΡ€ΠΈ этом синтаксис ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ символа ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ контСкста. НапримСр, Π² арифмСтичСских выраТСниях % Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ остатка ΠΎΡ‚ дСлСния, Π° Π² строках β€” ΠΊΠ°ΠΊ спСцификатор Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. РазбСрёмся, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ.

1. ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ остатка ΠΎΡ‚ дСлСния (ΠΌΠΎΠ΄ΡƒΠ»ΡŒ)

Π’ арифмСтичСских выраТСниях % Π² 1Π‘ выполняСт Ρ‚Ρƒ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎ ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков программирования β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ остаток ΠΎΡ‚ дСлСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ числа Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ чётности, цикличСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈΠ»ΠΈ разбиСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

Число = 10;

ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ = Число % 3; // Π’Π΅Ρ€Π½Ρ‘Ρ‚ 1 (10 Π΄Π΅Π»ΠΈΠΌ Π½Π° 3, остаток 1)

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

  • πŸ”’ Если Π΄Π΅Π»ΠΈΠΌΠΎΠ΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ: -10 % 3 Π²Π΅Ρ€Π½Ρ‘Ρ‚ -1.
  • πŸ“‰ ΠŸΡ€ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π° ноль Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка {ΠžΡˆΠΈΠ±ΠΊΠ°ΠŸΡ€ΠΈΠ’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ}.
  • πŸ”„ ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈ числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, Π½ΠΎ для Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… чисСл Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ().
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ 1Π‘ 7.7 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ % отсутствуСт β€” вмСсто Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция Mod(). ΠŸΡ€ΠΈ пСрСносС ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ вСрсиями это ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ошибки.

2. ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ строк (Π°Π½Π°Π»ΠΎΠ³ sprintf)

Одна ΠΈΠ· самых вострСбованных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ % Π² 1Π‘ β€” Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк. Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ спСцификатор для подстановки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² строку, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π‘Ρ‚Ρ€Π¨Π°Π±Π»ΠΎΠ½() ΠΈΠ»ΠΈ Format() Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для создания динамичСских сообщСний, ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΎΠ².

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис:

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ = Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ΅Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅("%1 β€” это %2", "Π˜Ρ‚ΠΎΠ³ΠΎ", 1000); // "Π˜Ρ‚ΠΎΠ³ΠΎ β€” это 1000"

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности:

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ОписаниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
%1, %2.. %n ΠŸΠΎΡ€ΡΠ΄ΠΊΠΎΠ²Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° "%1 Ρ€ΡƒΠ±. %2 ΠΊΠΎΠΏ." "100 Ρ€ΡƒΠ±. 50 ΠΊΠΎΠΏ."
%-N Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ с ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ N "|%-10s|" "|тСкст |"
%N.Mf Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ числа с M Π·Π½Π°ΠΊΠ°ΠΌΠΈ послС запятой "%.2f" "123.46"
%d Π¦Π΅Π»ΠΎΠ΅ число "Код: %d" "Код: 42"

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ числовыми Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ:

ВСкст = Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ΅Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅("|%10s|%5d|%8.2f|", "Π’ΠΎΠ²Π°Ρ€", 123, 999.999);

// Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: "| Π’ΠΎΠ²Π°Ρ€| 123| 1000.00|"

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если количСство спСцификаторов % Π½Π΅ совпадаСт с количСством Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², 1Π‘ Π½Π΅ выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ. НапримСр, "%1 %2" с ΠΎΠ΄Π½ΠΈΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ подставит Π΅Π³ΠΎ Π΄Π²Π°ΠΆΠ΄Ρ‹.
πŸ“Š Как часто Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк с % Π² 1Π‘?
ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎ
Иногда
Рядко
Никогда

3. ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ Π² рСгулярных выраТСниях

Π’ 1Π‘ 8.3 символ % примСняСтся ΠΈ Π² рСгулярных выраТСниях (рСгулярках) для поиска ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ тСкста. Π—Π΄Π΅ΡΡŒ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΠΎ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π΅Ρ† строки Π² зависимости ΠΎΡ‚ контСкста. Однако Ρ‡Π°Ρ‰Π΅ всСго % ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ ΡΠΊΡ€Π°Π½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ символ для Π΄Ρ€ΡƒΠ³ΠΈΡ… мСтасимволов.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

  • πŸ” %[Π°-яА-Π―] β€” поиск любой кирилличСской Π±ΡƒΠΊΠ²Ρ‹.
  • πŸ“ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(ВСкст, "%\d+", "") β€” ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ всСх чисСл ΠΈΠ· строки (здСсь % экранируСт \d).
  • πŸ”„ Π Π΅Π³Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ = Новый Π Π΅Π³Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅("%(Π°Π±Π²|Π³Π΄Π΅)"); β€” поиск слов "Π°Π±Π²" ΠΈΠ»ΠΈ "Π³Π΄Π΅".

Π•Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ зависит ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π²ΠΈΠΆΠΊΠ° рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅.

πŸ’‘

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ символ % Π² тСкстС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСгулярного выраТСния, экранируйтС Π΅Π³ΠΎ Π΄Π²Π°ΠΆΠ΄Ρ‹: %%.

4. ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ Π² запросах 1Π‘ (SQL-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ синтаксис)

Π’ языкС запросов 1Π‘ символ % ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ подстановочный Π·Π½Π°ΠΊ (wildcard) Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ ΠŸΠžΠ”ΠžΠ‘ΠΠž (Π°Π½Π°Π»ΠΎΠ³ LIKE Π² SQL). Он ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ любоС количСство Π»ΡŽΠ±Ρ‹Ρ… символов, Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ запросов:

ВЫБРАВЬ

НаимСнованиС

Π˜Π—

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура

Π“Π”Π•

НаимСнованиС ΠŸΠžΠ”ΠžΠ‘ΠΠž "%стол%" // Найдёт "Π‘Ρ‚ΠΎΠ» Π΄ΡƒΠ±ΠΎΠ²Ρ‹ΠΉ", "ΠžΡ„ΠΈΡΠ½Ρ‹ΠΉ стол" ΠΈ Ρ‚.Π΄.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • πŸ“Œ % Π² Π½Π°Ρ‡Π°Π»Π΅ шаблона ("%тСкст") β€” поиск ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ.
  • πŸ“Œ % Π² ΠΊΠΎΠ½Ρ†Π΅ ("тСкст%") β€” поиск ΠΏΠΎ Π½Π°Ρ‡Π°Π»Ρƒ.
  • πŸ“Œ %тСкст% β€” поиск ΠΏΠΎ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ.
  • 🚫 Для поиска самого символа % ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠŸΠžΠ”ΠžΠ‘ΠΠž "%\%" (экранированиС).
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠŸΠžΠ”ΠžΠ‘ΠΠž чувствитСлСн ΠΊ рСгистру Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… конфигурациях. Для рСгистронСзависимого поиска ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π’Π Π•Π“() ΠΈΠ»ΠΈ настройки ΠΊΠΎΠ»Π»Π°Ρ†ΠΈΠΈ.

5. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΏΡ€ΠΈ использовании % Π² 1Π‘

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ошибки с символом %. Π’ΠΎΡ‚ самыС распространённыС:

  1. ΠŸΡƒΡ‚Π°Π½ΠΈΡ†Π° с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ модуля. Π’ 1Π‘ 7.7 Π½Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° % β€” вмСсто Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция Mod(). ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ % Π² старой вСрсии ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ синтаксичСской ошибкС.
  2. НСсовпадСниС количСства спСцификаторов. Π’ Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ΅Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅("%1 %2", "А") Π²Ρ‚ΠΎΡ€ΠΎΠΉ спСцификатор останСтся Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌ, Π½ΠΎ ошибки Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.
  3. Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² рСгулярках. Π—Π°Π±Ρ‹Π²Π°ΡŽΡ‚ ΡƒΠ΄Π²ΠΎΠΈΡ‚ΡŒ % ΠΏΡ€ΠΈ поискС самого символа: %%.
  4. Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ % Π² Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ΅ Π½Π΅ провСряСт Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ Π½Π° ноль β€” это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ падСнию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ошибка: использованиС % Π² строках Π±Π΅Π· экранирования ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ уязвимостям ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ, Ссли Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ВсСгда провСряйтС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ подстановкой Π² Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ΅Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅() ΠΈΠ»ΠΈ запросы.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π»ΠΈ % Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ контСкстС (Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ°/строки/рСгулярки)?

Π‘ΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ‚ Π»ΠΈ количСство спСцификаторов с количСством Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²?

Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы Π² рСгулярках?

ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ Π»ΠΈ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ Π½Π° ноль Π² арифмСтичСских опСрациях?

-->

6. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ практичСского примСнСния % Π² 1Π‘

Рассмотрим Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Π³Π΄Π΅ % Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅ΠΊΠ° для ККМ

ВСкстЧСка = Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ΅Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅(

"%-20s %6.2f Ρ€ΡƒΠ±.

Π˜Π’ΠžΠ“Πž: %8.2f Ρ€ΡƒΠ±.",

"Π₯Π»Π΅Π± бородинский", 56.30,

56.30

);

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° чётности Π² Ρ†ΠΈΠΊΠ»Π΅

Для Π‘Ρ‡ = 1 По 10 Π¦ΠΈΠΊΠ»

Если Π‘Ρ‡ % 2 = 0 Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π‘Ρ‡ + " β€” Ρ‡Ρ‘Ρ‚Π½ΠΎΠ΅");

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: Поиск Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ

Запрос = Новый Запрос;

Запрос.ВСкст =

"ВЫБРАВЬ

| НомСр, Π”Π°Ρ‚Π°

|Π˜Π—

| Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π—Π°ΠΊΠ°Π·ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Ρ

|Π“Π”Π•

| НомСр ΠŸΠžΠ”ΠžΠ‘ΠΠž "%" + НомСрШаблона + "%"";

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4: Π Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹

Π“Ρ€ΡƒΠΏΠΏΠ° = Π”Π°Π½Π½Ρ‹Π΅.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ % 10; // Π Π°Π·Π±ΠΈΠ²Π°Π΅ΠΌ Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎ 10 элСмСнтов
Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с % Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ†ΠΈΠΊΠ»Π°Ρ…?

Для часто ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с % (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΏΠΎ 1000+ элСмСнтов) выноситС расчёты Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. НапримСр:

Ѐункция ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠžΡΡ‚Π°Ρ‚ΠΎΠΊ(Число, Π”Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ)

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Число % Π”Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ;

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π­Ρ‚ΠΎ снизит Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° Π²Ρ‹Π·ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΠΈΡ‚ΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π°.

7. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ символу % Π² 1Π‘

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях % ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ конструкциями:

Π—Π°Π΄Π°Ρ‡Π° ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° % Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк Π‘Ρ‚Ρ€Π¨Π°Π±Π»ΠΎΠ½() Если Π½ΡƒΠΆΠ½Π° Π±ΠΎΠ»Π΅Π΅ гибкая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, условноС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅).
ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ ΠΎΡ‚ дСлСния ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ(Число, Π”Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ) Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ числами ΠΈΠ»ΠΈ Π² 1Π‘ 7.7.
Поиск ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ Найти(), БтрНайти() Если Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ возмоТности SQL-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ синтаксиса.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с Π‘Ρ‚Ρ€Π¨Π°Π±Π»ΠΎΠ½():

ВСкст = Π‘Ρ‚Ρ€Π¨Π°Π±Π»ΠΎΠ½("ΠšΠ»ΠΈΠ΅Π½Ρ‚: %1, Π‘ΡƒΠΌΠΌΠ°: %2", ΠšΠ»ΠΈΠ΅Π½Ρ‚.НаимСнованиС, Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π‘ΡƒΠΌΠΌΠ°);
πŸ’‘

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ % ΡƒΠ΄ΠΎΠ±Π΅Π½ для быстрых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π½ΠΎ Π² слоТных сцСнариях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, динамичСскоС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с условиями) Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСциализированныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Π‘Ρ‚Ρ€Π¨Π°Π±Π»ΠΎΠ½() ΠΈΠ»ΠΈ Π€ΠΎΡ€ΠΌΠ°Ρ‚().

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ % для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Ρ‚Π°ΠΌΠΈ?

НСт, символ % Π½Π΅ примСняСтся для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π΄Π°Ρ‚Π°ΠΌΠΈ. Для форматирования Π΄Π°Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π€ΠΎΡ€ΠΌΠ°Ρ‚():

ДатаВСкст = Π€ΠΎΡ€ΠΌΠ°Ρ‚(ВСкущаяДата(), "Π”Π€='dd.MM.yyyy'");
ΠŸΠΎΡ‡Π΅ΠΌΡƒ % Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² 1Π‘ 7.7?

Π’ вСрсии 1Π‘ 7.7 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ % Π½Π΅ поддСрТиваСтся. ВмСсто Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Mod(Число, Π”Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ) для получСния остатка ΠΎΡ‚ дСлСния.

Как ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ % Π² строкС для Π²Ρ‹Π²ΠΎΠ΄Π°?

Если Π½ΡƒΠΆΠ½ΠΎ вывСсти символ % ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² сообщСнии "Π‘ΠΊΠΈΠ΄ΠΊΠ° 50%"), ΡƒΠ΄Π²ΠΎΠΉΡ‚Π΅ Π΅Π³ΠΎ:

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€Π¨Π°Π±Π»ΠΎΠ½("Π‘ΠΊΠΈΠ΄ΠΊΠ° %1%%", 50)); // Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ "Π‘ΠΊΠΈΠ΄ΠΊΠ° 50%"
Π’ Ρ‡Ρ‘ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ % ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ()?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ % Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ с Ρ‚Π΅ΠΌ ΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Π΅Π»ΠΈΠΌΠΎΠ΅. Ѐункция ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ() ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа ΠΈ всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚1 = -10 % 3;  // -1

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚2 = ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ(-10, 3); // 2

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ % Π² ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π°Ρ…?

Π”Π°, Π² Π‘ΠšΠ” (БистСма Компоновки Π”Π°Π½Π½Ρ‹Ρ…) символ % примСняСтся для форматирования Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ для поля ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ:

Π€ΠΎΡ€ΠΌΠ°Ρ‚(Π‘ΡƒΠΌΠΌΠ°, "%10.2f");

Π­Ρ‚ΠΎ выровняСт сумму ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ с двумя Π·Π½Π°ΠΊΠ°ΠΌΠΈ послС запятой.