用上限值和下限值在python中用数字的权重四舍五入

问题描述

我有一个数字,我需要获得最接近的第 1000 个值。上边和下边以及数字之间的差异,以便我可以给出权重。

Example:

Number_1 = 25460

Expected output:

Lower_number = 25000
Upper_number = 26000

lower_number_differance= 460
upper_number_differance= 540


Tried code:

round(25460,-3) 

我得到的值是 25000,这是较低的数字。我需要所有其他值。

解决方法

用于计算上 1000th 值。您需要执行以下步骤:

  • 将一个值除以 1000(25460 将变成 25.460)
  • 然后对结果值进行上限(25.460 将变为 26)
  • 然后将结果值乘以 1000(26 将变成 26000)
import math

Number_1 = 25460

Lower_number = round(Number_1,-3)
print(Lower_number)
>> 25000

lower_number_differance = Number_1 - Lower_number
print(lower_number_differance)
>> 460

Upper_number  = int(math.ceil( Number_1/ 1000.0)) * 1000
print(Upper_number)
>> 26000

upper_number_differance = Upper_number -Number_1
print(upper_number_differance)
>> 540