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;
答案 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
。)