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.
Remove from Favorite Scripts Add to Favorite Scripts


Beautiful work, I don't congratulate just everyone but this is as close to witchcraft as it gets in a good way.
+1 Reply
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.
Phenomenal work mate, this really should be an inbuilt function but lucky for the Pine community you're here!
Home Stock Screener Forex Screener Crypto Screener Economic Calendar How It Works Chart Features Pricing Refer a friend House Rules Help Center Website & Broker Solutions Widgets Charting Solutions Lightweight Charting Library Blog & News Twitter
Profile Profile Settings Account and Billing Referred friends Coins My Support Tickets Help Center Ideas Published Followers Following Private Messages Chat Sign Out