PercentageType displays as decimal (less than 1)

I too am working on a binding with percentage value, namely relative humidity.
The API gives me a double value between 0 and 100 and in my case, I had to divide it by 100 to show properly in the UI or I would get 5420% RH instead of 54.2%.

I have the following definitions:

channels.xml

	<channel-type id="humidity">
		<item-type>Number:Dimensionless</item-type>
		<label>@text/channel-type.airzone.zone.humidity.label</label>
		<category>Humidity</category>
		<tags>
			<tag>Measurement</tag>
			<tag>Humidity</tag>
		</tags>
		<state pattern="%.1f %%" readOnly="true" />
	</channel-type>

thing-type-zone.xml

	<thing-type id="zone">
		<channels>
			<channel id="humidity" typeId="humidity" />
		</channels>
	</thing-type>

Then in the thing handler code, I do this:

newState = new DecimalType(zone.getHumidity() / 100);
updateState(channelUID, newState);

This works right in openHAB4 and I believe it will do so in openHAB3 as well.