Lua использует двойную точность с плавающей точкой; мантисса имеет 52 бита, поэтому число ограничено до 16 десятичных знаков.
Если вам нужна большая точность, используйте библиотеку с множественной точностью, например, lqd , которая использует квадро-двойную точность с 212 бит мантиссы и дает около 64 десятичных знаков. Тогда qd.pi
дает 3.1415926535897932384626433832795028841971693993751058209749445923.