Today firefox, chrome and safari support decimal places with i18n and validation using browser language configuration, safari needs step=“any” aditional property.
I don’t know how, but today we can use inputs like:
<%= form.number_field :weight, step: :any %>
so, if a user with portuguese language on browser enter with “1500,5” it is submitted as “1500.5”, and when initialized “1500.5” from html value property is rendered as “1500,5” on screen magically.
Input number doesn’t support thousand separator that is a good thing and validate it as a bad number.