2017-09-19 5 views
0

指定変数は、メトリック(mm)測定の場合は 'M5'、インチの場合は '1/2'の文字列です。 '1 1/2'や1インチ以上の測定では少し複雑になります。ここで混合小数点を小数に変換

私は今インチの測定の問題に関連したものである:

decimal = 1.0 * float(designation) 

また、私は運なしフラクションモジュールを介して見てきました。

+2

これは明らかではありません。混合分数の文字列表現を10進数に変換しようとしていますか?もしそうなら、あなたの質問の多くは無関係の詳細です。 –

+0

はい、指定変数は 'M5'と '1 1/2'の両方を保持する文字列でなければなりません。 – brddawg

+0

'eqv = designation [1:] * 0.0393701'ここで、文字列に浮動小数点数を掛けます...なぜ、' 0.0039 ... '? 'M 'とは何ですか?ミリメートル? –

答えて

1

これは、あなたが道の一部を得ることができます。たとえば

def mixed_to_float(x): 
    return float(sum(fractions.Fraction(term) for term in x.split())) 

>>> mixed_to_float('1/3') 
0.3333333333333333 
>>> mixed_to_float('1 1/2') 
1.5 
関連する問題