L'unico problema è che, sostanzialmente, se non mette la cascata di if...else if...else nel programma principale, dovrà comunque metterla nella funzione che converte la stringa in un numero (oppure, meglio, un for con un if, ma la velocità di è quella lì), quindi il guadagno è fondamentalmente di eleganza, anzi in velocità si perde.