There are several ways around this problem.

a) Use binary-coded decimal MDACs. Instead of ladder networks designed for base 2, they use ladder networks designed for base 10. Brute force, but it works.

b) Use more binary bits than the minimum, and use a number that is sufficiently close to the scale factor desired that the error is insignificant.

For example, let's suppose we're using a 12 bit converter (quite common). Then for full scale,

V_{out} = (2^{12}/(2^{12}-1))*(2^{12}-1) * V_{observed} = V_{observed}.

But 2^{12}=4096, so 2^{12}/10 = 409.6 which rounds off to 410, and error of only 0.4/410 = 0.1%. 2^{12}/100 = 40.96 which rounds to 41, an error, similarly, of 0.1%. Good enough for most purposes.