Rules for saying numbers
For reading numbers aloud, the wikipedia page has a section "Reading and transcribing numbers" that you might find useful.

Since I think you know the basics and your problem seems to affect the reading of "zero", let me quote this passage:

"Interior zeroes before the unit position (as in 1002) must be spelt explicitly. The reason for this is that trailing zeroes (as in 1200) are often omitted as shorthand, so ambiguity occurs. One zero is sufficient to resolve the ambiguity. Where the zero is before a digit other than the units digit, the explicit zero is not ambiguous and is therefore optional, but preferred."



Note: I know you didn't ask for the writing part, but if you don't mind, I'd like to keep it. If you think it's misleading, I can delete it.

For writing numbers, I found a nice page, Chinese numbers intro, that summarizes the rules for writing numbers. I summarized it below. If you find mistakes or if I forgot something, please post a comment:


  
  "Tens" are expressed by writing "numeral + ten".
  
  70 = 七十
  when adding a single numeral, just add it after those two. 
  
  75 = 七十五
  with hundreds, you add the hundred and then the rest. 
  
  275 = 二百七十五
  with thousands, you do the same. 
  
  1275 ＝ 一千二百七十五
  same with ten thousands. 
  
  31275 = 三万一千二百七十五
  if there's a ZERO, you include it.
  
  31075 = 三万一千零七十五
  the character 点 is used for "dot"
  
  16.98 = 十六点九八 (10-6-decimal-9-8)
  
  
  You can find more on the wikipedia page for numbers.


I also found a nice number converter that you can use for self-study, I think. You can output Traditional, Simplified Chinese and also Pinyin.