public boolean setValue(float value,
							@FloatFormat int formatType, @IntRange(from = 0) int offset) {
		final int len = offset + getTypeLen(formatType);
		if (mValue == null) mValue = new byte[len];
		if (len > mValue.length) return false;

		switch (formatType) {
			case FORMAT_SFLOAT -> {
				final int sfloatAsInt = sfloatToInt(value);
				mValue[offset++] = (byte) (sfloatAsInt & 0xFF);
				mValue[offset] = (byte) ((sfloatAsInt >> 8) & 0xFF);
			}
			case FORMAT_FLOAT -> {
				final int floatAsInt = floatToInt(value);
				mValue[offset++] = (byte) (floatAsInt & 0xFF);
				mValue[offset++] = (byte) ((floatAsInt >> 8) & 0xFF);
				mValue[offset++] = (byte) ((floatAsInt >> 16) & 0xFF);
				mValue[offset] += (byte) ((floatAsInt >> 24) & 0xFF);
			}
			default -> {
				return false;
			}
		}

		return true;
	}
Set the locally stored value of this data.
<p>See {@link #setValue(byte[])} for details.

@param value      Float value to be written
@param formatType Float format type used to transform the value parameter
@param offset     Offset at which the value should be placed
@return true if the locally stored value has been set
ble/src/main/java/no/nordicsemi/android/ble/data/MutableData.java