Comment puis-je convertir des valeurs en d'autres unités de la page JSP. Par exemple, si j'obtiens la valeur 1001 et que je veux seulement afficher 1K, ou quand j'obtiens 1 000 001, je voudrais afficher 1M et pas cet attribut long, comment puis-je faire cela, quand j'obtiens la valeur Integer à ma page jsp pour exemple $ {myValue}?Conversion de valeurs en préfixes d'unités dans la page JSP
Répondre
static String toSymbol(int in) {
String[] p = { "", "K", "M", "G" };
int k = 1000;
assert pow(k, p.length) - 1 > Integer.MAX_VALUE;
int x = in;
for (int i = 0; i < p.length; i++) {
if (x < 0 ? -k < x : x < k) return x + p[i];
x = x/k;
}
throw new RuntimeException("should not get here");
}
Peut-être que vous pourriez écrire une implémentation personnalisée de java.text.Format ou remplacer java.text.NumberFormat pour le faire. Je ne suis pas au courant d'une classe d'API qui fait une telle chose pour vous. Ou vous pouvez laisser cette logique dans la classe qui sert les données et l'envoyer avec le format approprié. Cela pourrait être mieux, parce que le JSP devrait seulement se soucier des problèmes de formatage. La décision d'afficher "1000" ou "1K" pourrait être une règle côté serveur.
1 million est probablement la plus grande valeur que mon application peut même gérer, donc je n'ai besoin de rien de compliqué ... – newbie
Cela nécessiterait un changement de db ou des changements de classe java, j'utilise plutôt jsp – newbie
DB change? Comment? Non, c'est juste un changement du côté serveur pour le transformer en un format que le JSP peut utiliser. Vous devez écrire une classe pour faire le formatage de toute façon. Il n'y a aucun avantage à le faire sur la JSP. – duffymo
Ce problème peut (et devrait à mon avis) être résolu sans boucles.
Voilà comment:
public static String withSuffix(long count) {
if (count < 1000) return "" + count;
int exp = (int) (Math.log(count)/Math.log(1000));
return String.format("%.1f %c",
count/Math.pow(1000, exp),
"kMGTPE".charAt(exp-1));
}
Code d'essai:
for (long num : new long[] { 0, 27, 999, 1000, 110592,
28991029248L, 9223372036854775807L })
System.out.printf("%20d: %8s%n", num, withSuffix(num));
Sortie:
0: 0
27: 27
999: 999
1000: 1.0 k
110592: 110.6 k
28991029248: 29.0 G
9223372036854775807: 9.2 E
question connexe (et source d'origine):
Exactement pas de boucles s'il vous plaît. –
- 1. Conversion de fichiers jsp en modèles Django?
- 2. Conversion de valeurs x/y dans la vue de la caméra en valeurs de panoramique/inclinaison
- 3. Conversion d'une balise JSP en composant JSF
- 4. Howto Désactiver la mise en cache dans une page jsp
- 5. Affichage du temps dans la page JSP
- 6. Résolution de page JSP/HTML
- 7. Préfixes de référence dans la documentation XML .NET
- 8. JSP Afficher la page de tri Page Recharger
- 9. Comment remplir les valeurs de XML dans JSP?
- 10. Img problème d'intégration dans Struts2 jsp page
- 11. Insertion de valeurs d'URL en XML Page
- 12. aide à la mise RDF dans une page Web (jsp)
- 13. Conversion de valeurs EBCDIC Char en Hex (données EBCD EBCDIC)
- 14. Transfert de page JSP: problèmes d'URL relatifs?
- 15. « this » en javascript et les préfixes de contrôle ASP.NET
- 16. Conversion de la chaîne PascalCase en "Nom convivial" dans TSQL
- 17. En utilisant Jboss Portal, Comment puis-je récupérer les propriétés de la page dans un jsp?
- 18. HTML/JSP doute, la date d'impression sur la page web
- 19. appel code PHP page JSP
- 20. valeurs de page de code
- 21. Passage de valeurs de zone de texte d'une JSP à une autre JSP
- 22. barre d'adresse cachette et barre d'état en page jsp
- 23. jsp: cela fait référence à quel objet dans le bloc de code jave de la page jsp <% %>?
- 24. Comment éviter les avertissements du compilateur lors de la conversion de valeurs enum en entiers?
- 25. problème dans la conversion Datetime en C#
- 26. Comment générer toutes les différentes valeurs dans la conversion d'un numéro en une lettre de vanité de téléphone en C++
- 27. Recherche d'un motif pour conserver les valeurs des champs de page en revenant à la page
- 28. Résumé d'une fonctionnalité sécurisée d'une page .jsp?
- 29. PDO - Travailler avec les préfixes de table
- 30. directives web-inf et jsp page
Nous n'allons pas faire votre travail à domicile, apprendre à utiliser Google ce problème a été résolu des milliers de fois. –