Convertir la fraction en flotteur?

Genre de comme cette questionmais dans le sens inverse.

Donné une chaîne de caractères comme 11/2ou 1 2/3quelle est la meilleure façon de le convertir en un float? Je suis en train de réfléchir à l'aide de regexes au cas par cas, mais peut-être que quelqu'un connaît une meilleure façon, ou d'une pré-solution existante. J'espérais que je pourrais simplement utiliser evalmais je pense que le 3ème cas l'en empêche.

source d'informationauteur mpen | 2009-11-27