में फ्लोट के साथ गुणा करें मेरे पास दो तिथियां हैं और सामान्य रूप से टाइमडेल्टा की गणना कर सकती हैं।टिमडेल्टा पाइथन
लेकिन मैं जिसके परिणामस्वरूप timedelta के साथ कुछ प्रतिशत गणना करना चाहते हैं:
full_time = (100/percentage) * timdelta
लेकिन यह है कि यह केवल interegs साथ गुणा कर सकते हैं लगता है।
int
के बजाय गुणक के रूप में मैं float
का उपयोग कैसे कर सकता हूं?
उदाहरण:
percentage = 43.27
passed_time = fromtimestamp(fileinfo.st_mtime) - fromtimestamp(fileinfo.st_ctime)
multiplier = 100/percentage # 2.3110700254217702796394730760342
full_time = multiplier * passed_time # BUG: here comes exception
estimated_time = full_time - passed_time
तो int(multiplier)
प्रयोग किया जाता है - सटीकता भुगतना पड़ता है।
आप सही हैं, timedelta केवल गुणा या विभाजन के साथ विभाजन का समर्थन करता है, लेकिन आप अनुक्रम चरण में गणित संचालन क्यों नहीं करते हैं? सटीकता की वजह से 'full_time = pass_time * 100/int (प्रतिशत) ' –
@ कोलिन ओ'कोल:' 2! = 2.3131'। तुलना करें: '571 * 2 = 1142' (** 1 9 **, 03 (3) मिनट); '571 * 2.3131 = 1320,7801' (** 22 **, 0130016 (6) मिनट)। अंतर लगभग ** 3 मिनट ** (!) –