2017-06-21 45 views
3

我不知道我是否問我的問題是正確的,但我想知道它是否可能爲我乘以兩個數字,並根據長度數?乘以數字並用小數返回數字

我目前做這樣的事情

def multiply(input1, input1): 
    num = (input1 * input1) 
    if len(str(num)) == 4 and str(num).isdigit(): 
     print(num) 

    return num 

multiply(225, 10) 

而是像2250返回的東西,我會想返回類似2.25k。是否有一個內置的Python函數來實現這個功能?

謝謝。

現在我正在做這樣的

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) 

如何有效的是這個東西嗎?

+0

如果你正在尋找一個內置的功能,你可以試試'「{:0.3e}」。格式( 2250)'或者任何'num'來代替'2250'。不完全是您的要求,但可能有用 – nikpod

+0

[Python庫在SI單位前綴之間轉換]的可能重複(https://stackoverflow.com/questions/10969759/python-library-to-convert-between-si-unit-前綴) –

回答

1

如果你想如何可以做到這一點簡單的例子,看一看,

def m(a, b): 
    num = float(a * b) 

    if num/1000 > 1: 
     return str(num/1000) + "k" 
    else: 
     return num 

>>> m(225, 10) 
'2.25k'