Penniä ajatuksistasi
Jos sinulla on positiivinen kokonaisluku n, joka edustaa senttimäärää, palauta muotoiltu valuuttasumma. Jos esimerkiksi n = 123456, palauttaa "1 234,56".
Esimerkki 1
Tulo
n = 132
Lähtö
"1.32"Esimerkki 2
Tulo
n = 2
Lähtö
"0.02"Esimerkki 3
Tulo
n = 100000000
Lähtö
"1 000 000.00"
Muotoile valuuttanumero C++:lla
Vaikka tämä tehtävä saattaa vaikuttaa yksinkertaiselta sisäänrakennetun funktion, kuten printf tai String-muodon (Pythonissa) kanssa, tämän numeron/valuutan muotoilun toteuttaminen ei vaikuta trivaalilta tehtävältä. Ensin meidän pitäisi saada pennin osuus (murto-osa) laskemalla kaksi viimeistä numeroa (jäljellä 100). Sitten meidän on ryhmiteltävä muut numerot kolmeen.
Tarvitsemme merkkijonotyynytoiminnon lisätäksemme keskimmäisten ryhmien etunollat ja myös pennin (enintään 2 numeroa, kuten 0,01). Merkittävimmän ryhmän ei pitäisi lisätä etunollia. Numerot erotetaan toisistaan pilkulla.
Yllä oleva C++-funktio ilmoittaa paikallisen lambda -funktion käyttämällä toiminnallista syntaksia. Sitten ryhmittelemme numerot kolmeen osaan ja laitamme ne vektoriin. Sitten pehmustamme jokaisen ryhmän, mukaan lukien sentin osan.