What you are asking about is called String formatting. For example:
[%.1f °C]: %.1f means that at that point a floating point number is to be filled in, with 1 digit after the decimal separator (the .), followed by the unit degrees Celcius in this case, but that could be anything.
[%d %%]: %d means that a integer number is to be filled in there, and it should be followed by a percentage sign (%), but as the % is already a special character, it is escaped by adding another % in front of it.
[%.3f kW]: Same as the first example, but then with 3 digits after the decimal separator, and a unit of kilo watts.
As OpenHAB is made in Java I looked up a random resource describing some more of the options, but there is many more resources to be used:
https://dzone.com/articles/java-string-format-examples
Now what the brackets do, is basically say “This concerns the state representation field, and not the label”, as mentioned here: