String to Number

A small method to translate strings to numbers.
For example, we have a string:

s = "321"

To check if the last symbol is "1", we might just try to remove (or replace with an empty string) the symbol "1". If the string changed, then there was the symbol "1" in the string:

s2 = str .replace_all (s, "1", "")

now s2 is "32", so

s == s2 returns false.

But we can't find out what the position of the symbol "1" was and if there was only one symbol "1".

To be sure, we just add a special character (I use ';') to the end of the string, and then try to remove not just "1", but the string "1;":

s = "321;"
s2 = str .replace_all (s, "1;", "")

Now, if s != s2, then we might be sure, that last symbol of the string was "1". And then we might check for all digits and get information about what digit we have and at what position. Same for additional symbols: decimal point and minus.
Skript med en öppen källkod

I sann TradingView-anda har författaren till detta skript publicerat det som öppen källkod, så att handlare kan förstå och verifiera det. Skål för författaren! Du kan använda den gratis men återanvändning av den här koden i en publikation regleras av våra Ordningsregler. Du kan göra den till favorit för att använda den i ett diagram.

Vill du använda det här skriptet i ett diagram?


Phenomenal work mate, this really should be an inbuilt function but lucky for the Pine community you're here!
+3 Svara
Beautiful work, I don't congratulate just everyone but this is as close to witchcraft as it gets in a good way.
+2 Svara
Quansium Quansium
@Quansium, can you take a look into why this doesn't work with Strategy parameters, specifically "strategy.commission.percent"? I didn't spend much time trying to figure it out but in the few minutes I did it didn't work.
MichelT Quansium
@Quansium, Could you elaborate what exactly doesn't work? `strategy.commission.percent` is just a regular string "percent", which might be printed in a label, so there's no anything to parse as a number.
Quansium MichelT
@MichelT, i'm more inclined into algo trading, I want to calculate some advanced backtest results so it is all custom, I need fees to be added into the calculation. I can't use TV fees because they're strings. So I had to have a separate input where the user entered the fees. If I can convert the TV fees string into a number, I don't need the input repeated.
MichelT Quansium
@Quansium, Could you share some code, because I'm not quite understand the case. Maybe, you could send my a link to the code example as a private message.
Quansium MichelT
@MichelT, I will, it is rather simple, I just didn't want to have it posted on comments as it includes your code which will make my example long enough to take considerable space on here.
MichelT Quansium
@Quansium, thanks, I really appreciate it.
this is super!