lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> On Tue, Jul 14, 2015 at 9:20 PM, Parke <parke.nexus@gmail.com> wrote:
> > On Tue, Jul 14, 2015 at 5:58 PM, Rena <hyperhacker@gmail.com> wrote:
> >> This is something I've been stubbing my toe on a lot lately and it's
> >> rather annoying:
> >>
> >> Lua 5.3.1  Copyright (C) 1994-2015 Lua.org, PUC-Rio
> >> ; print(string.format('%d', 1.1))
> >
> >> In previous versions - and in C - it would just silently truncate the
> >> number (drop the fractional part).
> >
> > In C?  Really?  What compiler?
> >
> 
> Maybe it was only the one in my imagination... :)

Any correct C compiler will truncate as you said (towards zero), when
it converts a float to an integer. 'printf' is an exception, because
it is a vararg function and, therefore, without type checking. (With
no type checking, the compiler does not know it has to convert.)

-- Roberto