You might try:
IF ( {Property:Expressions/frac} > 5, ROUNDUP ( {Property:Expressions/num}, 0 ), IF ( {Property:Expressions/frac} < 5, ROUNDDOWN ( {Property:Expressions/num}, 0 ), IF ( MOD ( {Property:Expressions/dig}, 2 ) = 0, ROUNDDOWN ( {Property:Expressions/num}, 0 ), ROUNDUP ( {Property:Expressions/num}, 0 ) ) ) )
Where:
num = your measurement in a raw number (no units)
frac = QUOTIENT ( MOD ( {Property:Expressions/num}, ROUNDDOWN ( {Property:Expressions/num}, 0 ) ) * 10, 1 )
QUOTIENT ( MOD ( {Property:Expressions/num}, ROUNDDOWN ( {Property:Expressions/num}, 0 ) ) * 10, 1 )
dig = QUOTIENT ( MOD ( {Property:Expressions/num} / 10, ROUNDDOWN ( {Property:Expressions/num} / 10, 0 ) ) * 10, 1 )
QUOTIENT ( MOD ( {Property:Expressions/num} / 10, ROUNDDOWN ( {Property:Expressions/num} / 10, 0 ) ) * 10, 1 )
i can't imagine that anyone would use such a complicated expression.
This just demos the "left turn" Graphisoft took in developing expressions?
Gerry
Windows 11 - Visual Studio 2022; ArchiCAD 27