C++ Valutanummerformatsfunktion
En peng för dina tankar
Givet ett positivt heltal n som representerar mängden cent du har, returnera det formaterade valutabeloppet. Till exempel, givet n = 123456, returnera "1 234,56".
Exempel 1
Ingång
n = 132
Utgång
"1.32"Exempel 2
Ingång
n = 2
Utgång
"0,02"Exempel 3
Ingång
n = 100000000
Utdata
"1 000 000,00"
Formatera ett valutanummer med C++
Även om den här uppgiften kan verka enkel med den inbyggda funktionen såsom printf eller String-formatet (i Python), verkar det inte vara en trivial uppgift att implementera denna siffer-/valutaformatering. Först skulle vi behöva få penny-delen (bråk) genom att beräkna de två sista siffrorna (återstoden med 100). Sedan måste vi gruppera de andra siffrorna i tre.
Vi behöver en string pad-funktion för att lägga till de inledande nollorna för de mittersta grupperna och även penny (upp till 2 siffror som 0,01). Den mest signifikanta gruppen ska inte lägga till inledande nollor. Siffrorna är åtskilda med kommatecken.
Ovanstående C++-funktion deklarerar en lokal lambda- funktion med den funktionella syntaxen. Sedan grupperar vi siffrorna i tre och lägger dem i vektorn. Sedan stoppar vi varje grupp inklusive pennydelen.