Converting Strings to Decimals (Gone Wrong)
Shakespeare Programming Language, 258 252 bytes
-6 bytes thanks to the default.
,.Ajax,.Puck,.Act I:.Scene I:.[Exeunt][Enter Ajax and Puck]
Ajax:Open mind.
Puck:Is I nicer zero?If soYou is the sum ofI twice the difference 
     betweenthe product ofyou the sum ofa cat a big big cat the factorial 
     ofa big big cat.
     If soLet usAct I.Open heart

Try it online!
The golfiest representation of the integer 48 is as twice the factorial of a big big cat, i.e. \$48=2\times (2\times2\times1)!\$.
This corresponds to
Ajax = 0
Puck = 0
Begin Act I
Puck = read_input (as ASCII codepoint value)
if(Puck&gt;0){
    Ajax = Puck + 2 * (Ajax * (4+1) - 4!)
    Go to Act I
}
print(Ajax) (as an integer)