521
524
#define LUA_NUMBER_SCAN "%lf"
522
525
#define LUA_NUMBER_FMT "%.14g"
524
#define lua_number2str(s,n) if (((n)<0.000001) && ((n)>-0.000001)) \
525
sprintf((s), "0"); else if (((n)<0.0001) && ((n)>-0.0001)) { \
526
sprintf((s), "%.6f", (n)); \
527
if (n>0) { if (s[7] == '0') { s[7] = 0; } } \
528
else { if (s[8] == '0') { s[8] = 0; } } \
529
} else sprintf((s), LUA_NUMBER_FMT, (n));
532
#define LUAI_MAXNUMBER2STR 32 /* 16 digits, sign, point, and \0 */
527
#define lua_number2str(s,n) do { \
528
if (n<0.0001 && n>=-0.0001) { \
529
sprintf((s), "%.14f", (n)); \
530
if (strchr(s,'.')) { \
533
while (s_l>0 && s_l--) { \
534
if (s[s_l] == '0') s[s_l] = '\0'; \
537
if (s[s_l] == '.') s[s_l] = '\0'; \
539
} else sprintf((s), LUA_NUMBER_FMT, (n)); \
543
#define LUAI_MAXNUMBER2STR 64 /* 16 digits, sign, point, and \0 */
533
544
#define lua_str2number(s,p) strtod((s), (p))