问题描述
我有一个数字,我需要获得最接近的第 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