python3 将科学计数法(用E表示的)转化为书写形式的科学计数法的数字

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²¹⁵¹²

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值