Hi,
It's a long time since I wrote that, so off the top of my head I can't recall all the places that field is used, but my guess is that if it's used as a string it's because of localization and formating of numbers between langauges. You can sometimes get a mismatch between lanaguges "5,678.99" in english = "5.678,99" in french also adding the currecy formatting cause issues when switching between langauges. therefore I think the string formatting is used when the price is displayed, and the decimal version for calculations.
Regards,
Dave.