python 科学计数法 转 字符串表述

python 科学计数法 转 字符串表述

前言:

好久没有写博客了,写一个今天需要的一个小玩意儿,网上没有找到一个方便的解决方案,我写一个试试:

需求:

输入:

a = 10000.0

或者:

a = 1e5

我想要快速获得一个它的字符串表述方法,最好不用调用函数,一两行代码就解决问题。

代码:

buffer_size = 12303000.0
# buffer_size = 1.23e6
postive_str = str(buffer_size).split('.')[0]
pre_str = postive_str[:len(postive_str) - len(
    [x for x in postive_str[-1::-1] if x == '0'])]
post_value = len([x for x in postive_str[-1::-1] if x == '0']) + len(pre_st
r) - 1
pre_str = str(float(pre_str) / (float(pre_str[0])*(len(pre_str))))
need_str = pre_str + 'e' + str(post_value)

更简洁的方案:

val = 12303000.0
valstr = "%8.3g" % val if hasattr(val, "__float__") else val

猜你喜欢

转载自blog.csdn.net/hehedadaq/article/details/124668312