The issue you were having was because "v=" NumberForm[...] means Times["v=",NumberForm[...]] and so the syntax form of the underlying quantity was taking over, because a string times a quantity doesn’t evaluate. Another example of this would be:
You don’t have to change the argument to NumberForm (did you try that)? Also Text is not needed though to my eye it is useful for formatting. The point of the response by @S.M.Blinder is that using Row is the correct way to go about this. The original code involves an implicit multiplication, and that causes the parens to be added.