Вот специально решил выложить инфу из MSDN по типам переменных, это актуально и для встроенных типов Blitz3D:
float:
Примерные приделы значений: от ±1.5 * 10^-45 до ±3.4 * 10^38 (крайние приделы по сути не имеют дробной или целой части.)
Точность: 7 цифр (т.е. в числе без потери точности может быть не более 7 цифр в сумме из целой и дробной частей.)
|
Что из этого следует? В любом языке 32х битный float ограничен 7 цифрами в числе. Т.е. если мы хотим работать с точностью до 3его знака в дробной части, то целая часть недолжна превышать 4 знаков или числа 9999 (на самом деле число может быть чуть больше из-за несоответствий между десятичной и двоичной системами счисления). Если мы хотим работать с числами в целой части которых 7 знаков, то можно забыть о дробной чатси совсем. Её просто небудет.
А теперь о несуществующем в Blitz3D типе double, которых бы всех спас.
double
Примерные приделы значений: от ±5.0 * 10^-324 до ±1.7 * 10^308 (крайние приделы по сути не имеют дробной или целой части.)
Точность: 15-16 цифр (т.е. в числе без потери точности может быть не более 15 (иногда 16, когда первая цифра "1") цифр в сумме из целой и дробной частей.)
|
Как мы видим уже можно использовать числа имеющие длину до 15-16 символов в строковом представлении... т.е. всреднем до 8 цифр до и после запятой.
напомню типа double нет в BlitzD, но он есть в BlitzMAX, C#, C++