English style guides prescribe writing the percent sign following the number without any space between. However, the International System of Units and ISO 31-0 standard prescribe a space between the number and percent sign, in line with the general practice of using a non-breaking space between a numerical value and its corresponding unit of measurement. Other languages have other rules for spacing in front of the percent sign:
In Czech and in Slovak, the percent sign is spaced with a non-breaking space if the number is used as a noun. In Czech, no space is inserted if the number is used as an adjective, whereas Slovak uses a non-breaking space in this case as well.
In Finnish, the percent sign is always spaced, and a case suffix can be attached to it using the colon.
In French, the percent sign must be spaced with a non-breaking space.
In Spanish, the percent sign must always be spaced now, as almost every other symbol.
In Russian, the percent sign is rarely spaced, contrary to the guidelines of the GOST 8.417-2002 state standard.
In Chinese, the percent sign is almost never spaced, probably because Chinese does not use spaces to separate characters or words at all.
In Turkish and some other Turkic languages, the percent sign precedes rather than follows the number, without an intervening space.
In Persian texts, the percent sign may either precede or follow the number, in either case without a space.
In Arabic, the percent sign follows the number; as Arabic is written from right to left, this means that the percent sign is to the left of the number, usually without a space.
In Hebrew, the percent sign is written to the right of the number, just as in English, without an intervening space. This is because numbers in Hebrew are written from left to right, as in English.
Usage in text
It is often recommended that the percent sign only be used in tables and other places with space restrictions. In running text, it should be spelled out as percent or per cent. For example, not "Sales increased by 24% over 2006", but rather "Sales increased by 24 percent over 2006".
Evolution
Prior to 1425 there is no known evidence of a special symbol being used for percentage. The Italian term per cento, "for a hundred", was used as well as several different abbreviations. Examples of this can be seen in the 1339 arithmetic text depicted below. The letter p with its descender crossed by a horizontal or diagonal strike conventionally stood for per, por, par, or pur in Medieval and Renaissance palaeography. At some point a scribe of some sort used the abbreviation "pc" with a tiny loop or circle This appears in some additional pages of a 1425 text which were probably added around 1435. This is shown below. The "pc" with a loop eventually evolved into a horizontal fraction sign by 1650 and thereafter lost the "per". In 1925 D.E. Smith wrote, "The solidus form is modern."
Names for the percent sign include percent sign, mod, grapes , and the humorous double-oh-seven. In computing, the percent character is also used for the modulo operation in programming languages that derive their syntax from the C programming language, which in turn acquired this usage from the earlier B. In the textual representation of URIs, a % immediately followed by a 2-digit hexadecimal number denotes an octet specifying a character that might otherwise not be allowed in URIs. In SQL, the percent sign is a wildcard character in "LIKE" expressions, for example SELECT * FROM table WHERE fullname LIKE 'Lisa %' will fetch all records whose names start with "Lisa ". In TeX and PostScript, and in GNU Octave and MATLAB, a % denotes a linecomment. In BASIC, a trailing % after a variable name marks it as an integer. In Perl % is the sigil for hashes. In many programming languages' string formatting operations, the percent sign denotes parts of the template string that will be replaced with arguments. In Python and Ruby the percent sign is also used as the string formatting operator. In the command processors COMMAND.COM and CMD.EXE, %1, %2,... stand for the first, second,... parameters of a batch file. %0 stands for the specification of the batch file itself as typed on the command line. The % sign is also used similarly in the FOR command. %VAR1% represents the value of an environment variable named VAR1. Thus: set PATH=c:\;%PATH% sets a new value for PATH, that being the old value preceded by "c:\;". Because these uses give the percent sign special meaning, the sequence %% is used to represent a literal percent sign, so that: set PATH=c:\;%%PATH%% would set PATH to the literal value "c:\;%PATH%". In the C Shell, % is part of the default command prompt.
In linguistics
In linguistics, the percent sign is prepended to an example string to show that it is judged well-formed by some speakers and ill-formed by others. This may be due to differences in dialect or even individual idiolects. This is similar to the asterisk to mark ill-formed strings, the question mark to mark strings where well-formedness is unclear, and the number sign to mark strings that are syntactically well-formed but semantically nonsensical.