Ich weiß nicht, ob ich meine Frage richtig stelle, aber ich möchte wissen, ob es für mich möglich ist, zwei Zahlen zu multiplizieren und eine Dezimalzahl abhängig von der Länge der Nummer?Zahlen multiplizieren und die Zahl mit einer Dezimalzahl zurückgeben
ich derzeit tue so etwas wie dieses
def multiply(input1, input1):
num = (input1 * input1)
if len(str(num)) == 4 and str(num).isdigit():
print(num)
return num
multiply(225, 10)
Statt etwas wie 2250 zurückzukehren, wird Ich mag so etwas wie 2.25k zurückzukehren. Gibt es eine eingebaute Funktion in Python, um dies zu erreichen?
Vielen Dank.
Jetzt bin ich zur Zeit so etwas wie dieses
from __future__ import division
def multiply(string1, string2):
num = (string1 * string2)
if len(str(num)) == 4 and str(num).isdigit():
num = format(num/1000, '.2f')
print(num + "k")
elif len(str(num)) == 5 and str(num).isdigit():
num = format(num/1000, '.1f')
print(num + "k")
return num
multiply(225, 10)
tun
Wie effizient ist das?
Wenn Sie eine eingebaute Funktion suchen, können Sie versuchen, '„{: 0.3e}“. Format (2250) 'oder irgendein' num' anstelle von '2250'. Nicht genau Ihre Anforderung, aber könnte nützlich sein – nikpod
Mögliches Duplikat von [Python-Bibliothek zum Konvertieren zwischen SI-Einheiten-Präfixe] (https://stackoverflow.com/questions/10969759/python-library-to-convert-between-si-unit- Präfixe) –