For me, it is only Number Items that are always displayed with at least one decimal place, so 25 is 25.0. Dimmer Items are displayed properly. Some of my Items are not linked to Channels, and are not using UoM, but still behave this way. The data is stored without the decimal place, but the REST API and persistence service (Item states, logs, UIs, etc.) have the decimal even if stored as TinyInt. I looked back through a few years of data, and there were decimals (PersistenceViewer), but not when I went directly into the database.
EDIT: In looking at my database, Dimmer Items are stored as tinyint(4) and Number Items are stored as double. I’ve updated some of them for Items that hold integers to tinyint to see if this will change things… I suspect it will. Still a bug, but possibly a workaround.