Seite 1 von 1

formatieren Int mit 0'en

Verfasst: Samstag 2. Oktober 2021, 19:46
von Omm
Hallo zusammen

ich möchte gerne eine Zahl (int) umformatieren.
aus 637688035040827520 soll 637688035040000000 werden.
d.h. die letzen 7 Stellen vom Rückgabewert sollen immer 0 haben.

z.b. nsecond_time = 637686900600000000

Code: Alles auswählen

    def get_epochtime_ns(self, nsecond_time=None):        
        diff = datetime.datetime.now() - datetime.datetime.min
        diff_nseconds = diff.total_seconds() * 10000000
        
        if nsecond_time: diff_nseconds = diff_nseconds - nsecond_time         
        return diff_nseconds

Re: formatieren Int mit 0'en

Verfasst: Samstag 2. Oktober 2021, 20:14
von __deets__
Durch 10000000 mit // teilen. Und wieder multiplizieren.

Re: formatieren Int mit 0'en

Verfasst: Samstag 2. Oktober 2021, 20:32
von Sirius3
@Omm: Du multiplizierst erst 10000000 und willst dann die niedrigsten Ziffern nicht haben, statt gleich die Nachkommastellen von total_seconds zu entfernen.

Code: Alles auswählen

diff_nseconds = int(diff.total_seconds()) * 10000000

Re: formatieren Int mit 0'en

Verfasst: Samstag 2. Oktober 2021, 21:57
von Omm
danke für eure Hilfe.
Ich bin immer wieder echt froh drum.

Re: formatieren Int mit 0'en

Verfasst: Sonntag 3. Oktober 2021, 13:36
von DeaD_EyE
Versuch mal:

Code: Alles auswählen

rounded_int = round(637688035040827520, -7)

Re: formatieren Int mit 0'en

Verfasst: Sonntag 3. Oktober 2021, 13:50
von Sirius3
@DeaD_EyE: ist halt nun die Frage, ob die Ziffern wirklich nur durch 0en ersetzt werden sollen, oder ob gerundet werden soll. Ich hatte jetzt ersteres rausgelesen.