From: "Eustáquio Rangel" Date: 2021-06-16T16:36:13-03:00 Subject: [ruby-core:104319] Re: Float truncate --===============1433893126== Content-Type: multipart/alternative; boundary="000000000000b203c705c4e734c4" --000000000000b203c705c4e734c4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hey Austin! Em qua., 16 de jun. de 2021 =C3=A0s 14:32, Austin Ziegler escreveu: > This isn=E2=80=99t related to float truncation, it=E2=80=99s related to t= he > approximate nature of float. > > [4] pry(main)> 291.4 * 100 > =3D> 29139.999999999996 > > https://bugs.ruby-lang.org/#Floating-point-numbers Yeah, meanwhile I was taking a look on some of the concepts, thanks for pointing out this URL! As I said, floats are known to be wild math beasts. :-) > If your client needs accuracy on this, they should be using BigDecimal. > > [12] pry(main)> BigDecimal('291.4').truncate(2) > =3D> 0.2914e3 > Thanks! We also made some monkey patching on Float, to allow they truncate converting first on a String. As a side note to the maintainers of the RubyMine gateway, this email > did not open a ticket in RubyMine. Is the gateway broken again? > I also noticed that. Thanks! --000000000000b203c705c4e734c4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hey Austin!

Em qua., 16 de jun. de 2021 =C3=A0s 14:32, Austin Ziegler <halostatue@gmail.com> escreveu:
This isn=E2=80=99t related to float truncation, it=E2=80=99s rel= ated to the
approximate nature of float.

[4] pry(main)> 291.4 * 100
=3D> 29139.999999999996

https://bugs.ruby-lang.org/#Floating-point-numbers

= Yeah, meanwhile I was taking a look on some of the concepts, thanks for poi= nting out this URL! As I said, floats are known to be wild math beasts. :-)=
If your client needs accuracy on = this, they should be using BigDecimal.

[12] pry(main)> BigDecimal('291.4').truncate(2)
=3D> 0.2914e3

Thanks! We also made some monkey patching on Fl= oat, to allow they truncate converting first on a String.

As a side note to the maintainers of the Ruby= Mine gateway, this email
did not open a ticket in RubyMine. Is the gateway broken again?

= I also noticed that.=C2=A0

Thanks!
--000000000000b203c705c4e734c4-- --===============1433893126== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline Unsubscribe: --===============1433893126==--