Java String.format avec le symbole de la monnaie
Il y a quelques code existant de le suivre de formulaire qui est utilisé pour le format des valeurs numériques:
String.format( pattern, value )
Remarque que je ne peut pas modifier le code lui-même - je ne peux changer le format fourni par le code.
Quel est le modèle de format de sortie un symbole de devise pour les paramètres régionaux par défaut? Essentiellement, je veux atteindre la sortie suivante:
String.format( "...", 123 ) => $ 123
source d'informationauteur Marc Polizzi
Vous devez vous connecter pour publier un commentaire.
Avec les contraintes que vous avez donné, je pense qu'il est impossible de l'atteindre.
Pour obtenir les paramètres Régionaux en cours est le symbole de la monnaie, vous aurez besoin d'un minimum de code.
Si vous n'avez absolument aucun moyen d'ajouter du code pour le programme, vous feriez mieux utiliser les symbole de de "de change" (¤). Il a été créé à cette fin exacte, pour symboliser la monnaie en l'absence de plus de symboles spécifiques.
Si vous ne pouvez pas modifier le code, mais ajouter du code pour l'ensemble du projet, vous pouvez l'utiliser pour trouver le symbole utilisé au mieux. Une fois que vous l'avez, vous pouvez l'utiliser pour créer un modèle pour le code à utiliser pour le formatage.
Si vous pouvez trouver dans les paramètres Régionaux de l'origine programme sera exécuté dans la prochaine, vous pourriez écrire un assistant de programme qui utilise ce paramètre pour remplir votre configuration.
Pas besoin de réinventer la roue.
DecimalFormat
vient avec le soutien des devises:Cela est également livré avec le plein support de locale par éventuellement en passant dans un
Locale
:Voici un test:
De sortie:
Vous pouvez essayer ce qui suit:
Cette affiche:
Si il n'y a pas de paramètres Régionaux par défaut disponibles, on peut aller avec le réglage le symbole de la devise à l'aide d'unicode de décimales et de mise en forme. Comme dans le code ci-dessous:
Pour, par exemple, le Réglage de la monnaie Indienne symbole et le formatage de la valeur. Cela fonctionne sans que l'utilisateur de faire des modifications dans les paramètres.
De sortie: