For what it's worth....I used to use 21.67 days in a month and so divide the monthly salary by 21.67.
You get to this by diving the number of weeks by the number of months in a year........52/12 = 4.33 (to get average weeks in a month) and multiplying this by the amount of working days in a week.
As gbm mentions, the days change from month to month, but I used this as the average for the year. I suppose it depends on how accurate you need to be, but you won't go wrong using the above.
If you have access to Excel, and depending on the level of accuracy you require, you could enter year start date in one cell, year end date in an adjacent cell (either calendar year, financial year, employee holiday year, etc), then add the function NETWORKDAYS. in the next cell
The result for 2011 calendar year is 260, for 2012 it is 261.
This function asssumes a Sat/ Sun weekend. If an employee has a diffrent work week pattern, there is another function that cover this (NETWORKDAYS.INTL), which allows you to set the weekend to different week days.
Do you have to consider holidays/public holiday entitlement with your calculation? That would change the equation quite a bit. As an example, my previous employer used to exclude all holiday entitlements (personal and public) and use that value to divide the salary so real working days would be closer to 230 in total.