2017-06-21 7 views
3

私は自分の質問を正しく聞いているかどうか分かりませんが、2つの数字を掛けることが可能かどうかを知りたいのですが、数?私は現在、この数字を乗算して小数値で数値を返します

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にinbuilt関数がありますか?

ありがとうございます。

は今、私は現在、この

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) 'または2250の代わりに任意の' num'を使用します。あなたの要件ではありませんが、役に立つかもしれません – nikpod

+0

[SIユニット接頭辞の間で変換するための[Pythonライブラリ]の重複可能性があります](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' 
関連する問題