Olha aqui o manual de php, é uma função mesmo.
sprintf -- Retorna uma string formatada
Cada especificação de conversão consiste em um símbolo de porcento (%), seguido por um ou mais destes elementos em ordem:
Um
especificador de tipo que diz que o argumento deve ser tratado como do tipo. Os tipos possivéis são:
% - Um caractere porcento. Não é requerido neenhum argumento.
b - O argumento é tratado com um inteiro, e mostrado como um binário.
c - O argumento é tratado como um inteiro, e mostrado como o caractere ASCII correspondente.
d - O argumento é tratado como um inteiro, e mostrado como um número decimal com sinal.
u - O argumento é tratado com um inteiro, e mostrado como um número decimal sem sinal.
f - O argumento é tratado como um float, e mostrado como um número de ponto flutuante.
o - O argumento é tratado com um inteiro, e mostrado como un número octal.
s - O argumento é tratado e mostrado como uma string.
x - O argumento é tratado como um inteiro, e mostrado como um número hexadecimal (com as letras minúsculas).
X - O argumento é tratado como um inteiro, e mostrado como um número hexadecimal (com as letras maiúsculas).
[]s
Então, onde tem o tal %s significa que o argumento será mostrado como uma string... Nada a ver com percentual de desconto...
[]s