2009-06-19 6 views
1

J'ai écrit une classe .NET qui convertit des valeurs décimales (valeurs monétaires) en une chaîne lisible en anglais.Conversion d'une décimale en chaîne anglaise

113,25 => cent treize et 25 cents.

C'est la ligne de montant sur les chèques. Le code est déployé et fonctionne, mais je me demandais s'il y avait une meilleure approche que d'écrire un tas d'instructions if, switch, division entière et module. J'espérais une solution plus élégante plutôt que mes 168 lignes de code.

Répondre

6

Je crois que ce que vous recherchez a été fait dans toutes les langues Code Golf: Number to Words

+2

Désolé pour le dupe. –

2

Alors que cette est un problème de golf de code commun, comme "fizz buzz" question ici prouvé: vous ne recevez pas toujours de bonnes réponses!

Il y a du code disponible à partir de l'excellente ressource Black Wasp: http://www.blackwasp.co.uk/NumberToWords.aspx qui résout votre problème. Peut-être comparer leur approche à la vôtre et voir si vous êtes sur la bonne voie. Alors que leur solution ne traite actuellement que des nombres entiers, j'imagine que vous pouvez soit l'adapter très facilement, soit passer votre mantisse et votre exposant séparément et combiner les résultats.

Espérons que cela aide.