Comment définir la précision en virgule flottante à l'intérieur d'une variable
Je suis actuellement en train de travailler un programme où j'ai besoin de calculer une valeur arrondie à seulement 2 chiffres après la virgule flottante.
Dis, j'ai déclaré
float a;
Si a = 3.555
alors il serait de stocker les a = 3.56
, arrondi vers le haut.
Pour a = 3.423
, la valeur d'un être a = 3.423
, pas de changement.
Je peux faire pour l'impression, mais ce que je dois faire lorsque le stocker dans une variable et utiliser cette variable pour un autre calcul?
- Pourquoi 3.423 être stockées avec 3 chiffres après la virgule mais 3.555 être stockées avec seulement 2 chiffres après la virgule?
- êtes-vous sûr de que pour a = 3.423, la valeur de a, a = 3.423?? pas un=3.42??
Vous devez vous connecter pour publier un commentaire.
Si vous avez besoin de deux chiffres après la virgule, ne pas utiliser de virgule flottante. L'utilisation d'un point fixe, un numéro à la place. Par exemple, il suffit d'utiliser un entier qui est 100 fois plus grande que le nombre décimal que vous voulez représenter. En essayant de s'adapter à une base de 2 nombre à virgule flottante dans les règles d'arrondi comme ce n'est tout simplement pas va produire des résultats satisfaisants pour vous.
Vous pouvez faire ceci:
Comment sur
Fonctionne sur les doubles, mais évite de mise à l'échelle de l'ensemble du numéro.
Mise à jour: Ajouté le manque de division.