А вобще советую почитать
мануал. В Сфере есть функции для каста типов данных.
Цитата(Sirocco @ 12.3.2019, 20:59)

local.a = // число 0
И? А что тут по твоему должно быть? Учи матчасть. Если это инт, то не инициализированный инт всегда будет равен 0. Если это строка, то пустая, инициализированная, строка в С будет иметь знак-терминации '\0', который в ASCII равен 0. А если её не инициализировать, то сфера вылетит с нулл поинтером.
Цитата(Sirocco @ 12.3.2019, 20:59)

local.a = 2/2 // число 1 - однако!
Не "однако!", - a все правильно, у тебя там оператор деления используется. Ты вобще хоть какой-нибудь код хоть раз в жизни писал? Всегда сперва операция, потом присвоение. Хочешь строку? Используй квоты.
Цитата(Sirocco @ 12.3.2019, 20:59)

local.a = 1z // строка
local.a = 1.1 // строка
1z строка, да, а что ещё тут может быть?
1.1 тоже строка, потому что сфера если сфера будет пытаться конвертировать твой скрипт во все типы данных, пока не найдет нужный, там производительности вобще не останется.
Используй float, хотя он как-то очень уж криво работает.