python3 將科學計數法(用E表示的)轉化為書寫形式的科學計數法的數字
阿新 • • 發佈:2018-12-31
import re def fun(numstr: str): """需要輸入為字串""" num = numstr.upper() if 'E' not in num: return numstr lower = {'0': '⁰', '1': '¹', '2': '²', '3': '³', '4': '⁴', '5': '⁵', '6': '⁶', '7': '⁷', '8': '⁸', '9': '⁹', '+': '', '-': '⁻'} # '+': '⁺' 省略加號 e = num.find('E') big = num[:e] symbol = '×10' if num[e + 1] in ('+', '-'): symbol += lower.get(num[e + 1]) e += 1 num2 = num[e + 1:] # 去除多餘的0 for i in range(len(num2)): if num2[i] == '0': e += 1 else: break little = ''.join([lower.get(i) for i in num[e + 1:]]) return big + symbol + little print(fun('12315e021512')) # 12315×10²¹⁵¹²