Although I still haven't figured out the best way to do that in reverse (when someone wants a specific measurement and I cut the string from that number), though I was considering a scheme where I start with strings of known length up-front then repeatedly cut successive halves until I converge on the desired number, accounting for cut accuracy and require precision.