Postby Pfhorrest » Fri Nov 02, 2012 8:58 pm UTC
As an American, I find the 0 at the start of British numbers makes most sense if thought of as something like the opposite of the 1 prefixing American long-distance numbers. In America, all calls are assumed to be local calls unless you dial a 1 first and then it knows to expect an area code before the local number. In Britain, all calls are assumed to be be international unless you dial a 0 first, and then it knows not to expect any country code but just a local (British) number.
Bizarely it's actually the equivelent of the American "1" (assuming I understand your post).
In Britain, all calls are assumed to be very local,
so e.g. 123456 will call a house near the exchange (if I was calling from Bolton, it would be in Bolton, if Aberdeen in Aberdeen, etc...).
A 0 in front says you want to go up a level to call a different exchange.
so 0-1204 123456 will go to the national-trunk exchange, back down to Bolton and then to the house
(this number will go to the same house wherever you call it in Britain, and as such is what is normally given. If expecting local calls the first part is often put in brackets to show it being possibly unneccessary)
A second 0 takes you up a level further to call a country.
If the whole world used the British system* then anywhere in the world you could dial
0044 1204 123456 would take you up to the international exchange, then to Britain, Bolton and the house.
But the world doesn't, and of course people needing this number are not in Britain, so the ++44 is used because people in the US would then have to dial 1? 44 1204 123456, in France it used to be different again 1944... (but it works throughout Europe).
It's a bit messier in reality.
*personally of the two I think 00(nationalcode)(national system) would work a lot better as a world-wide standard. The American one only makes sense if you own the first prefix (which you do).