Kibana only has the "number" umbrella field that encompasses int, long, float, double types. It doesn't have an "explicit" float type. First of all you need to look at how the field is stored in your elasticsearch index. This can be done using mapping API
curl -X GET "localhost:9200/YOURINDEX/_mapping?pretty=true"
I think your field is being stored correctly as
Then you have to look at how kibana interprets this field.
In kibana app go to Management->Index Patterns and click on your index pattern. Search for your field and you should see its type is "number".
By default kibana shows numbers to three decimal places. You can change that by configuring the numerical field formatters. Move mouse over your field (in the same index pattern window under management) and click on edit. Change the format from
Number. It will show a default format of
0,0.. You can add more zeroes in the
 to increase the precision. E.g.
0,0. will display floats with precision of 6 decimal places.
As for the conversion issue. According to the docs valid conversion targets are:
integer, float, integer_eu, float_eu, string, and boolean.