0
votes

Décimale ronde - si 1 alors pas de décimale, si 0,01 puis 2 décimale

Comment puis-je tronquer non pas avec le nombre décontracté comme 1, 2, 3 mais directement avec la syntaxe décimale?

Par exemple:

  • J'ai 4 et décimal à 1 tellement tronquent à 4.
  • J'ai 1,5 et décimal à 1 tellement tronqué à 1.
  • j'ai 1,5689 et décimal 0,01 tellement tronqué à 1,56.
  • J'ai 1,7954 et Decimal 0.001 tellement tronquent à 1,795.

    Je ne sais pas si une telle fonction existe, mais j'imagine quelque chose comme ça: rond (1.5689, 0.01) -> 1.56

    Je ne sais même pas comment nous pouvons appeler ce lol ...


2 commentaires

Utilisez le fait que -Log10 (0.01) = 2 ?


Je vais essayer avec ça, pourrait être une belle solution


4 Réponses :


1
votes

Une approche possible pour résoudre ce qui précède serait de savoir combien de décimales après le séparateur décimal . code>. Ensuite, si vous connaissez le nombre de ces décimales, vous pouvez facilement contourner votre numéro d'entrée. Ci-dessous est un exemple: xxx pré>

sortie: p>

4
1
1.57
1.795


0 commentaires

0
votes

peut aussi faire, en utilisant Ce et Ce : xxx pré>

résultats, pour numéro code> et formatocopy code> valeurs: p>

number=1.234
formattocopy=1.234


0 commentaires

2
votes

Ceci est une excellente application pour le décimal module, en particulier décimal.decimal.Quantiste < / code> : xxx

sortie: xxx


0 commentaires

0
votes

Utilisons les mathématiques au lieu de la programmation!

Nous savons que rond (x, n) rounds x à n n décimaux. Ce que vous voulez, c'est passer 10 ** n à votre nouvelle fonction au lieu de n . Donc, xxx

Cela devrait vous donner ce que vous voulez sans avoir besoin d'une recherche de chaîne / des opérations divisées.


0 commentaires