当前位置: 首页 > 面试题库 >

以科学计数法显示小数

柳晔
2023-03-14
问题内容

我该如何显示:

十进制(‘40800000000.00000000000000’)为‘4.08E + 10’?

我已经试过了:

>>> '%E' % Decimal('40800000000.00000000000000')
'4.080000E+10'

但是它有那些额外的0。


问题答案:
from decimal import Decimal

'%.2E' % Decimal('40800000000.00000000000000')

# returns '4.08E+10'

在您的“
40800000000.00000000000000”中,有许多更重要的零,其含义与任何其他数字相同。这就是为什么您必须明确告诉您要在哪里停止的原因。

如果要自动删除所有尾随零,可以尝试:

def format_e(n):
    a = '%E' % n
    return a.split('E')[0].rstrip('0').rstrip('.') + 'E' + a.split('E')[1]

format_e(Decimal('40800000000.00000000000000'))
# '4.08E+10'

format_e(Decimal('40000000000.00000000000000'))
# '4E+10'

format_e(Decimal('40812300000.00000000000000'))
# '4.08123E+10'


 类似资料:
  • 问题内容: 当我在PHP中进行以下乘法时: 我得到结果:1.0E-9 我想将此结果转换为普通的十进制表示法,我该怎么做? 不起作用,它返回。溢出? 问题答案: 不起作用,它返回。溢出? 可以,但是您在这里错过了一点。 没有溢出。只是对于修饰符,默认情况下使用6位数字。另外,请注意区域设置,可能更适合。 您可能希望使用更多数字,例如说4000000(400万): 如该示例所示,不仅有一个公共值(6位

  • 在HBase Shell中是否可以显示实际的十进制值,而不是以科学记数法显示? 通过下面提到的Phoenix脚本创建了HBase表。通过java中的Spark job将数据(“loginTime”:0.00006444)填充到此HBase表(通过phoenix脚本创建)。 如果该字段的java数据类型是双,那么该值将以科学符号显示为“6.44443E-5”,而不是显示实际值。但是如果我使java数

  • 本文向大家介绍PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法,包括了PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法。分享给大家供大家参考,具体如下: PHP计算大数值运算时会出错,当数字太大时,数值会变成科学计数.那怎么来进行PHP超大数值运算,包括加减乘

  • 问题内容: 有一个类似的问题,所以建议使用NumberFormat,这是我所做的。 我正在使用NumberFormat的parse()方法。 我得到的结果是 1.93 我真的没想到这会起作用,因为1.930000000000E + 02是一个看起来非常不寻常的数字,我是否必须先进行一些字符串解析才能删除零?还是有一种快速而优雅的方法? 问题答案: 当对科学计数形式的表达式使用DecimalForm

  • 问题内容: 我有这种方法: 例如,如果value = 1且scale = 2,则输出为“结果:0.00”。我以为会是1.00E-5。因此,我的疑问是:如果BigDecimal的大小大于某个值(在我的示例中为2),我该如何强制将BigDecimal格式化为科学计数形式? 问题答案: 您可以将搭配使用:

  • 问题内容: 如何抑制dataframe.describe()的科学计数法输出: 我的数据是float64类型: 问题答案: 对于单列: 对于整个DataFrame(如@databyte所建议) 对于整个DataFrame(由@Jayen建议): 当函数描述返回一个数据帧时,以上函数所做的是,它只是将每一行格式化为常规格式。我写这个答案的原因是,我心里有一个想法,那就是计数95等于95.00000e