Hello Joe,
thank you so much for your input, this solves my problem with the greatest of ease and stops my convoluted way of separating the floating digits that i figured out but would take various lines of ladder.
in regards decimal point control, i figured out a neat way of doing so. instead of converting a floating point number to a MI/ML using the float convert instructions, i convert the floating number to ascii with the num to ascii function block. with the function block i set result string length to 8 digits, set the result format to float, and i set an MI as my decimal point location. in my hmi i setup a variable ascii string, set the length to 8(same as in my function block), and tie that variable to the result of the block. now i also setup an input variable with the MI i am using for decimal control.
this leaves me with a 8 digit long floating number that i can change decimal point location and viewable digits by changing the value of the MI. i can increase the size of the number by increasing the length in the block and in the hmi variable. the only issue i found with this is that when i have the decimal set to "0", the number increases by whole numbers but you are left with "XX.0" on the screen. To work around this i take my floating number and convert it so i can save the whole number to an ML, i made a 2nd num to ascii function block using this ML, set the same length, set the result format to unsigned decimal, and set decimal point location to constant "0". so when i have the MI decimal control hmi variable set as 0, i move the 2nd num to ascii result into my hmi screen eliminating the decimal point and leaving me with whole numbers. any number greater than zero moves the 1st num to ascii result into my hmi with the desired decimal points.
I hope this can be useful to others who are working with displaying floating numbers.
Thank You,
Ricardo