Fix strange behavior when precision display option is zero (#20359)
- [x] closes #20359
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Notes:
- [x] I added a unit test for the example given in #20359
- [x] As far as the context of this code is concerned, I replacde '.' with decimal string (passed from self when called) in case of non-standard decimal use

@jreback Thanks for the comments and suggestions. I'll incorporate them soon. thanks @gimseng 