I came across Eric Lippert's blog again today, and (oh joy!) was reminded of a brilliant post of his that sorted out some rounding issues we had with MS Access 2000 for a payroll system where we had not accounted for VBA's wonderful Bankers' Rounding anomaly*.
Microsoft Knowledgebase article #196652 explains rounding in even more detail - but is less clear if read first.
The actual solution we used was based on Eric Bachtal's very elegant VBA rounding solution (it's a nice explanation with a solution using only 3 lines of code).
* The 'anomaly' (or rather undocumented feature) is that when VBA rounds a .5 it rounds to the nearest even number above that decimal place - up or down. This leads to weird effects when you expect a bunch of numbers to round in the more 'normal' fashion, and find they don't.
Well, I certainly wouldn't want a blue screen of death mid-flight!
ReplyDeleteOTOH, do we really want everything to cost twice as much and come in any colour you want ... except black or beige? :->
Seriously though, Microsoft's great strength has been their attractiveness as a platform for software developers, and their ability to be all things for all people. I actually developed on a cross-platform Mac/Windows tool a decade ago, and it wasn't obviously not a good career move.
Apple are the Pepsi to Microsoft's Coca-Cola, they will always have a place in the market, and in some areas they may upset the apple-cart (pun intended), but they won't (and probably don't) want to take over the world.