parsing invalid 'float' and 'boolean' options

1. If string is not a valid number it does not throw exception as it should.
2. It seems I broke parsing '0' as boolean while cleaning code. I replaced == operation by ===.
Now parsing 'boolean' option is fixed (I still don't like using numbers as booleans).