Python 根据给定值添加小数点的程序
Python program to add decimal point based on given value
标题可能会让您感到困惑!
别担心,我已经在这里解释过了:
例如,如果我通过 convert(11098,3),convert() 函数应该 return 11.098。
我传递的是 convert(11098,2),所以 convert() 应该 return 110.98.
在这里,任何整数都应该根据给定的分数通过添加小数点来转换为浮点数。根据分数计算,要加小数点。
有什么数学公式可以换算吗?我可以在我的 python 代码中实现它们。
import math
def convert(num,power):
return (float)(num/math.pow(10,power))
math.pow(x,y) 函数 returns x^y
要移动小数位,我们取 10 的幂并使用它我们可以移动小数位
我不太确定是否已经有现成可用的功能,但您可以这样做:
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/
您可以尝试使用一些 python lambda 函数。
convert = lambda I, F: I/ 10**F
print(convert(11098, 3))
# output:
# 11.098
这是一个您可以理解的简单解决方案 -
def convert(number,points):
decimal = pow(10,points) # power function
return number / decimal
num = convert(11098,3)
print(num)
所以这里,decimal
变量决定了分多少分。
结果-
11.098
另一个例子-
num = convert(11098,5)
print(num)
# Output: 0.11098
在这里,我们可以用到一点数学。
众所周知,任何数除以10的次方时,小数点向左移动很多次,因为除数中有0。
我们可以将除数 10 提高到用户提供的幂。
这样,您将获得所需的输出。
def convert(x,d):
return int(x) / 10**d
print(convert(11098,2))
标题可能会让您感到困惑! 别担心,我已经在这里解释过了:
例如,如果我通过 convert(11098,3),convert() 函数应该 return 11.098。 我传递的是 convert(11098,2),所以 convert() 应该 return 110.98.
在这里,任何整数都应该根据给定的分数通过添加小数点来转换为浮点数。根据分数计算,要加小数点。
有什么数学公式可以换算吗?我可以在我的 python 代码中实现它们。
import math
def convert(num,power):
return (float)(num/math.pow(10,power))
math.pow(x,y) 函数 returns x^y
要移动小数位,我们取 10 的幂并使用它我们可以移动小数位
我不太确定是否已经有现成可用的功能,但您可以这样做:
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/
您可以尝试使用一些 python lambda 函数。
convert = lambda I, F: I/ 10**F
print(convert(11098, 3))
# output:
# 11.098
这是一个您可以理解的简单解决方案 -
def convert(number,points):
decimal = pow(10,points) # power function
return number / decimal
num = convert(11098,3)
print(num)
所以这里,decimal
变量决定了分多少分。
结果-
11.098
另一个例子-
num = convert(11098,5)
print(num)
# Output: 0.11098
在这里,我们可以用到一点数学。
众所周知,任何数除以10的次方时,小数点向左移动很多次,因为除数中有0。
我们可以将除数 10 提高到用户提供的幂。
这样,您将获得所需的输出。
def convert(x,d):
return int(x) / 10**d
print(convert(11098,2))