7
votes

Utilisation de JQuery pour afficher une valeur à 2 décimales dans une boîte d'entrée tout en conservant plus de précision

Dupliqué possible:
JavaScript: Numéro de formatage avec exactement deux décimales

Peut-être que je vais dans ce mauvais sens, mais j'ai du javascript qui remplit des entrées de texte avec des nombres tels que 12.434234234. Je veux que l'entrée de texte affiche uniquement 12,43, mais j'aimerais que la valeur reste de la valeur 12.434234234.

Est-ce que cela est encore possible? Sinon, quel serait le meilleur travail?

merci! John.

-

Bien qu'il y ait eu de très bonnes réponses ici, je cherchais quelque chose comme "pourquoi ne tu n'utilisais pas simplement cette centeuse de doublure" - donc j'ai coché l'approche la plus élémentaire qui doit simplement utiliser un champ supplémentaire. Merci quand même! Marqué toutes les réponses.


3 commentaires

Quel type d'interaction l'utilisateur a-t-il avec ces chiffres? Pourquoi est-il important de conserver la précision?


Mon client veut la possibilité de scinder une transaction, par exemple 12,53 $ en plusieurs parties de pourcentage. Par exemple, 50% de 12,53 $ est deux lots de 6,265 $. Même si .5 d'un cent ne sonne pas beaucoup, nous ne voulons pas perdre cet argent quelque part. Nous tirons la ligne quelque part, mais que quelque part sera dans la base de données ou quelque part, je m'en fous, tant qu'il y a une juste quantité de précision.


Mais mon client ne veut pas non plus que l'application affiche ce genre de précision car il a l'air moche: p


4 Réponses :


14
votes
num = 12.434234234;
result = num.toFixed(2); // returns 12.43

0 commentaires

6
votes

Vous pouvez stocker les valeurs fines à grain dans des champs cachés et couper ceux affichés pour l'utilisateur.


3 commentaires

Vous pouvez également utiliser une variable plutôt que de créer un champ caché entier à cette fin.


Les entrées de texte sont généralement utilisées pour les formulaires HTML. Où conserveriez-vous cette variable pour un traitement ultérieur?


Je vois, c'est si vous allez avoir une interaction non-JavaScript avec le serveur et souhaitez conserver la valeur totale sur plusieurs pages. Oui, alors c'est ce que tu veux. Si vous voulez juste que la valeur soit mémorisée pendant les interactions avec une seule page, une variable est suffisante.



1
votes

Il existe plusieurs façons de résoudre ce problème: 1. Créez un champ masqué, stockez 12.434234234 en informatique et affichage de la valeur formatée dans Textfield. 2. Stockez l'original 12.434234234 à l'aide de la valeur ajoutée JQuery.Data () et d'affichage dans Textfield.


0 commentaires

4
votes

Vous pouvez stocker la valeur de l'entrée sous la forme de l'entrée (code> de l'entrée (à l'aide de jQuery), formatez-le sur le téléchargement, puis remplacez la valeur pendant Soumettre comme:

http://jsfiddle.net/magicaj/8CDRS/1/ < p> html: xxx

js: xxx


2 commentaires

L'ancien Switcharoo, je l'aime!


@John Hunt haha, je ne préconise pas cela comme une meilleure pratique. Souvent, je me suis rattrapé en répondant à la question littérale, essayant plutôt de comprendre le cas d'utilisation et d'offrir une meilleure conception d'interaction, que cela pourrait avoir besoin ...