There is at least an annoyance in the way amount input is presented when sending coins or creating payment requests. I don't really use the GUI so I'm not sure if this happens in other places.

Here is the screenshot of both boxes when inputting the number `15`:
![screenshot from 2018-05-14 10-23-23](https://user-images.githubusercontent.com/5016303/39989540-c9c82bc0-5759-11e8-8341-1981626b1a1b.png)
![screenshot from 2018-05-14 10-23-54](https://user-images.githubusercontent.com/5016303/39989541-c9e95188-5759-11e8-8790-45ebadfbc4c7.png)
**note: just in case somebody wonders, the global dark theme doesn't make a differente on this; same behavior with light/default patterns.*

My **expected behavior** is that, at least, I can see the most significant digits in the amount and, at best, I can see it all when space allows it. 
**What is happening is** that I input `15` and unnecessarily end up seeing `5.00000000`.
The number is complete inside the input as `15.00000000` so it is not really a functionality problem but it can be both annoying and misleading in some cases.

I can reliably reproduce this on **v0.16.0 (and master)** running on a **Fedora 27** using **GNOME 3** and **qt5**.
Tried it on an colleague's OSX and could not reproduce the issue; the input seemed fine.
I'm opening this in case it is an issue for more users.
{
        bool valid = false;
        CAmount val = parse(input, &valid);
        if(valid)
        {
            input = BitcoinUnits::format(currentUnit, val, false, BitcoinUnits::separatorAlways);
            lineEdit()->setText(input);
        }
    }
    CAmount value(bool *valid_out=0) const
    {
        return parse(text(), valid_out);
    }
    void setValue(const CAmount& value)
    {
        lineEdit()->setText(BitcoinUnits::format(currentUnit, value, false, BitcoinUnits::separatorAlways));
        Q_EMIT valueChanged();
    }
    void stepBy(int steps)