"Smart Data" and Business Data Types http://jpaulmorrison.com/datatyps.shtml
Most numbers in the real world have units attached to them - for instance, distances are in feet, metres or parsecs, bank balances and prices have to be in some currency, dates and times have to be relative to a given time zone, and so on, but most computer languages treat all quantities as if they were dimensionless. Many of the values we handle in our business applications do not have explicit precisions, so this has to be defined in the code that references them. Similarly, currency amounts cannot be multiplied, distance times distance equals area, and dates cannot be added: numbers in the real world seldom behave the same way that numbers do in a computer.
The vast majority of the numeric values in today's business applications are described by working code, not explicitly in (or associated with) the data itself. It was reported a few years ago that many of the magnetic data tapes in the tape library belonging to the US Navy had become illegible, not because of I/O errors, but because the data formats were not specified explicitly but only held inside program code, and nobody knew which programs or copy members described which tapes.
Recently one of the Mars landers was lost because of a mismatch in units ...
"Even when you consider the values themselves, leaving aside the question of units, there may be a wide variety of different representations. This is especially vexatious in the context of dates. Consider a value of 020511: does this represent the 2nd of May 2011? Or perhaps the 11th of May 2002? ... Again, I don't believe there is any universal standard."
This was once a big problem. But there is now an ISO standard for date notation. YYYY-MM-DD. http://www.w3.org/TR/NOTE-datetime I am flabbergasted when I see new software that supports a dozen different date formats, but fails to support the ISO standard date format. -- DavidCary