Цитата |
---|
Игорь написал: Имею опыт программирования на других языках, и там как-то интерпретатор /компилятор справляются... |
Нигде не справляются, это фича чисел с плавающей точкой. На тех же сях то же самое, там просто в pfintf/sprintf/etc по дефолту режется до (не более чем) 6 знаков после запятой тем же способом, что вы привели, поэтому на первый взгляд кажется, что все точно. Посмотрите в интернетах, целые статьи как два дабла сравнить чтобы не было мучительно больно. Если нужно перфекционизьму, надо с ценами работать с фиксированной точкой, но в луа целых вычислений нет как таковых, так что ваш вариант вполне себе оптимальный (только не учитывает возможность отрицательного аргумента, в этом случае не в ту сторону округлите). О лишних вычислениях переживать незачем, там столько оверхеда по другим поводам, что это вообще никак не повлияет, даже если глубоко в цикл вложить.