Python程序根据给定值添加小数点

标题可能会让您感到困惑! 别着急,我已经解释过了:

例如,如果我传递 convert(11098,3),convert() 函数应该返回 11.098。 我正在传递 convert(11098,2),所以 convert() 应该返回 110.98。

这里,任何整数都应该通过根据给定的分数添加小数点来转换为浮点数。以分数为基础,应加小数点。

有什么数学公式可以转换这个吗?我可以在我的 python 代码中实现它们。

tns1986 回答:Python程序根据给定值添加小数点

我不太确定是否已经有一个函数可以轻松地执行此操作,但您可以这样做:

def convert(value,decimals):
     value = str(value) # convert value to string-type for indexing
     d1 = value[:-decimals] # d1 comes before the decimal
     d2 = value[-decimals:] # d2 comes after the decimal
     output = f"{d1}.{d2}" # join d1 and d2 with . using f-string
     return output

print(convert(11098,2))

110.98

请注意,输出也将是字符串类型,如果需要,您可以使用 return float(output) 将其更改为浮点类型。

希望有帮助!

如果我的字符串操作不清楚,您可以阅读我在 LearnDataSci 上发布的这篇文章以获取更多信息: https://www.learndatasci.com/solutions/python-substring/

,

这是一个您可以理解的简单解决方案 -

True

所以在这里,def convert(number,points): decimal = pow(10,points) # power function return number / decimal num = convert(11098,3) print(num) 变量决定了除以数字的点数。

结果-

decimal

另一个例子-

11.098
,

在这里,我们可以使用一点数学。

众所周知,任何数除以 10 的幂时,小数点向左移动的次数与除数中的 0 相同。

我们可以将除数 10 提高到用户提供的幂。

这样,您将获得所需的输出。

def convert(x,d):
    return int(x) / 10**d

print(convert(11098,2))
,
import math
def convert(num,power):
return (float)(num/math.pow(10,power))

math.pow(x,y) 函数返回 x^y
要移动小数位,我们取 10 的幂并使用它我们可以移动小数位

,

你可以用一些 python lambda 函数试试这个。

convert = lambda I,F: I/ 10**F
print(convert(11098,3))
# output:
# 11.098
本文链接:https://www.f2er.com/47763.html

大家都在问