Lynx3d, I've started using a variant of your solution, which I quite like.
Garan, the main drawback of your method is that you have to call euroNormalize() for each numeric key or value (and not call it on strings that happen to be numbers). I want the workaround to be done centrally and automatically. Therefore the load function needs to be smart enough to know when to create "1.23" vs. 1.23.