2013-10-06 3 views
1

Quelle est la meilleure façon d'afficher un + devant, pour un flottant? Disons si un utilisateur entre le nombre "10". Je veux faire apparaître un "+" devant car c'est un nombre positif. Si c'était un nombre négatif alors je le laisserais tel quel.La meilleure façon d'ajouter un "+" et un "-"?

Aurais-je besoin d'utiliser une instruction if, puis la convertir en une chaîne, puis ajouter le signe +? Ou y a-t-il un moyen plus facile?

Répondre

2

Utilisez le format() function:

>>> format(10, '+f') 
'+10.000000' 
>>> format(-10, '+f') 
'-10.000000' 
>>> format(3.14159, '+.3f') 
'+3.142' 

Voir la Format Specification Mini-Language pour les options de formatage spécifiques; l'ajout d'un format numérique avec + fait qu'il comporte un plus pour les nombres positifs, - pour le négatif. Le dernier exemple formate le nombre à utiliser 3 décimales, par exemple.

Si vous devez supprimer le signe négatif, vous auriez à le faire en utilisant explicitement .lstrip():

>>> format(10, '+f').lstrip('-') 
'+10.000000' 
>>> format(-10, '+f').lstrip('-') 
'10.000000' 

mais ce serait assez déroutant une spécification à lire, à mon avis. :-)

+0

Vache sacrée Je ne savais même pas à ce sujet – TerryA

+0

Génial merci c'est vraiment utile! – user1804933

0

Utilisez le formatage - puis retirez tous les principaux - du résultat:

print format(10, '+').lstrip('-') 
0

La première chose que je pensais:

userInput=int(input("Enter number: ")) 
if userInput > 0: 
    print ("+"+userInput) 
else: 
    pass 

Le formatage est juste la façon d'aller bien, plus vite et plus propre.

+0

'pass' est en minuscule, pas de majuscule' P'; vous avez * rarement * besoin de l'utiliser cependant. Toute la suite 'else:' peut être abandonnée ici. –

+0

@Martin Pieters oups! En tapant sur le téléphone, les fautes de frappe arrivent grâce à la tête haute. L'autre était juste à des fins de "démonstration": P – hope4tg

+0

Je souhaite parfois que la fonction de mise en majuscule automatique d'iOS soit également désactivée! :-) –

Questions connexes