Du wandelst doch aber den Wert dann in eine Zahl um.
Wie ist Y dimensioniert ?
Wenn im String keine Zahl erkannt wird, oder u.a. ein weiteres Zeichen zB. " " vorkommt, gibts eine 0 !
Evtl. ist Y nur zu klein für den Wert !

Mit Input kann man auch gleich zB. einen Integer angeben, dann ist automatisch schon eingeschränkt was man und wieviel eingegeben werden kann.

Zeig mal mehr vom Programm, sonst wird das nur 'ne Ratestunde !