All values in QlikView are dual values. All calculation and operation is done on the dual value's underlying numerical value, since this processing of numerical values is more efficient than text values.
The only way to convert a dual value or a text string to a pure text value in QlikView is to use the Text() function.
The Text() function returns a dual value where the underlying numerical value is a NULL value. Practically this means that the output for Text() is a dual value without a numerical representation, which there fore can not be used in calculations or numerical comparison.
Other string functions like for example Right(), LTrim() or Subfield() returns a text string, which will be interpreted by QlikView and converted to a dual value. If the text string can be interpreted as a numerical value, the dual value will get an underlying numerical value.
The function output format can be seen in the function definition in the expression or script editor, by placing the input cursor to the right of the function bracket as seen in the images below. QlikView will interpret and generate dual value for non dual output values. Subfield() for example returns str (text string) data, which will be interpreted into a dual data value. Text() returns a dual value and will not be interpreted further.