2024-04-20 05:46:37 发布
网友
可以使用负数对整数进行舍入:
>>> round(1234, -3) 1000.0
因此,如果您只需要最重要的数字:
>>> from math import log10, floor >>> def round_to_1(x): ... return round(x, -int(floor(log10(abs(x))))) ... >>> round_to_1(0.0232) 0.02 >>> round_to_1(1234243) 1000000.0 >>> round_to_1(13) 10.0 >>> round_to_1(4) 4.0 >>> round_to_1(19) 20.0
如果浮点数大于1,则可能需要将其转换为整数。
如果要使用除1个有效小数以外的其他小数(否则与Evgeny相同):
>>> from math import log10, floor >>> def round_sig(x, sig=2): ... return round(x, sig-int(floor(log10(abs(x))))-1) ... >>> round_sig(0.0232) 0.023 >>> round_sig(0.0232, 1) 0.02 >>> round_sig(1234243, 3) 1230000.0
字符串格式中的%g将格式化一个四舍五入到一些有效数字的浮点。它有时会使用“e”科学符号,因此将舍入的字符串转换回浮点,然后通过%s字符串格式。
>>> '%s' % float('%.1g' % 1234) '1000' >>> '%s' % float('%.1g' % 0.12) '0.1' >>> '%s' % float('%.1g' % 0.012) '0.01' >>> '%s' % float('%.1g' % 0.062) '0.06' >>> '%s' % float('%.1g' % 6253) '6000.0' >>> '%s' % float('%.1g' % 1999) '2000.0'
可以使用负数对整数进行舍入:
因此,如果您只需要最重要的数字:
如果浮点数大于1,则可能需要将其转换为整数。
如果要使用除1个有效小数以外的其他小数(否则与Evgeny相同):
字符串格式中的%g将格式化一个四舍五入到一些有效数字的浮点。它有时会使用“e”科学符号,因此将舍入的字符串转换回浮点,然后通过%s字符串格式。
相关问题 更多 >
编程相关推荐