在指定的位置插入小数点,我的十进制编号为89899898,十进制计数为3,并将小​​数点放入编号89899.898

时间:2019-05-22 06:18:07

标签: python-3.x

def format_decimal_value(input_decimal, input_decimal_place_count):
            final_value = input_decimal
            if not (input_decimal is None or input_decimal_place_count is None):
                if not (input_decimal is "NULL" or input_decimal_place_count is "NULL"):
                    input_decimal_place_count_val = int(input_decimal_place_count)
                    if (input_decimal_place_count_val > 0 and input_decimal_place_count_val < len(input_decimal)):
                        final_value = input_decimal[:-input_decimal_place_count_val] + "." + input_decimal[
                                                                                             -input_decimal_place_count_val:]

            return final_value;

2 个答案:

答案 0 :(得分:1)

这是一种方法。

def format_decimal_value(input_decimal, input_decimal_place_count):
    return float(input_decimal)/10**input_decimal_place_count  #Thanks @hiro protagonist 

print(format_decimal_value(89899898, 3)) #89899.898
print(format_decimal_value(89899898, 5)) #898.99898

答案 1 :(得分:1)

您还可以使用decimal.Decimal

def format_decimal_value(input_decimal, input_decimal_place_count):
    return Decimal(input_decimal) / 10 ** input_decimal_place_count


ret = format_decimal_value(input_decimal=n, input_decimal_place_count=3)
# 89899.898

(您可能希望根据使用情况将结果转换为float。)