Re: integer or float?
Lawrence Velázquez <[email protected]> Thu, 02 Oct 2025 11:54:37 -0400
| Newsgroups | gmane.comp.shells.zsh.user |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Oct 2, 2025, at 10:11 AM, Ray Andrews wrote: > % echo $((.5)) > 0.5 > ... zsh very politely fixes sloppy input. > > % echo $((1.0)) > 1. > ... zsh very rudely breaks correct input. It's not broken, no matter how many times you assert that it is. > That can't be right. If I go > to the trouble to add the zero, why remove it? Evidently it's normalizing the value. Perhaps someone else knows why the normalized form is the way it is, but as long as it works with the shell's own arithmetic, it's correct. > % var=1.1 > % echo $((var)) > 1.1000000000000001 # I myself would prefer '1.1' > > % var=1.0 > % echo $((var)) > 1. # I'd prefer '1.0' > > % echo $((1.001)) > 1.0009999999999999 # '1.001' please https://0.30000000000000004.com/ Again, if you care about the visible representation of a number (this includes inspecting variable expansions), you should be using formatted output, not expecting the shell to read your mind. -- vq