The "Decimal Places" setting (in the custom field creation interface) sets the default number of decimal places shown in the UI. This does not mean that the number will be rounded to that many decimal places. The API simply returns the exact number that was inputted. The default number of decimal places when looked via the API is 1, thus the behaviour you're seeing.
I hope this helps.