Merkkijono pitää varsin usein muuttaa reaaliluvuksi tai kokonaisluvuksi. Siksi kirjoitammekin tiedostoon mjonotpp.h kaksi funktiota luvuksi:
inline bool luvuksi(vstring &jono, double &d, double def=0.0)
{
d = def;
return std::sscanf(jono.c_str(),"%lf",&d) == 1;
}
inline bool luvuksi(vstring &jono, int &i, int def=0)
{
i = def;
return std::sscanf(jono.c_str(),"%d",&i) == 1;
}
Funktion avulla voimme kirjoittaa muunnoksen lyhyemmin ja tuvallisemmin, sillä C++:n funktion kuormitus pitää huolen siitä että luvun tyypin mukaan valitaan oikea funktio käytettäväksi:
luvuksi(pala2,hinta);