Why is writing "$1" correct but writing "%100" isn't?

Solution 1:

The position of the currency symbol depends on local rules

  • 100,00 F
  • 100,00 €
  • $100.00
  • kr100,00

This is because the world hates programmers

Solution 2:

It is the currency symbol that is the odd usage here.

% is a shorthand notation for 'per cent' that has developed since Roman times - it makes for it to follow values (think 100 per cent)

I can't seem to find anything about why so many currency signs precede the value, though.

Solution 3:

Writing $1.00 instead of 1.00$ was to prevent fraud, it's harder to add digits between the number and the $.

Solution 4:

Different conventions apply to currency symbols and other types of symbol. English contains many conflicting conventions, in many cases because the conflicting conventions were each inherited from a different source. The USA currency prefix position was probably influenced by that of the British currency prefix which I suspect came from the Romans and might reflect Roman conventions or Latin word ordering. The positioning of abbreviations for temperature and other units of measure may have come from other sources.

In short, English is exuberantly inconsistent.