Thank-you for your question.
The symbol # has a number of different names and uses around the
world, in the english speaking world it is commonly known as the
"pound sign", "hash", "number sign" or the "octothorpe".
There is an excellent review of this symbol on the Wikipedia which
should answer all your questions and I have quoted the relevant US
"In the United States of America, the symbol is traditionally called
the pound sign. It derives from a series of abbreviations for pound
avoirdupois, a unit of weight. At first "lb." was used; later,
printers got a special font made up of an "lb" with a line through the
ascenders so that the "l" would not be mistaken for a "1". Unicode
character U+2114 (?) is called the "LB Bar Symbol," and it is a
cursive development of this symbol. Finally came the reduction to two
horizontal and two vertical strokes.
Its traditional commercial use in the U.S. was such that when it
followed a number, it was to be read as 'pounds': 5# of sugar. And
when it preceded a number, it was to be read as 'number': #2 pencil,
which still appears on U.S. pencils. Thus the same character in a
printer's type case had two uses."
Therefore to answer your question, in the USA the # when it preceded a
number is simply shorthand for the word "number". (When it is used as
a suffix to a number it is shorthand for the word "pounds".)
For example, #345 would be spoken as "number 345", 345# would be
spoken as "345 pounds".
If you require any further assistance on this subject please do not
hesitate to ask.