python乘法出现小数位很多_在python中乘以非常大的浮点数

我建议先数一数小数点后有多少个数字。然后用整数相乘。例如,你有>>>a = 1111111111.2222222222

>>>b = 2222222222.333333333

那么a的小数点后有10个数字,b的小数点后有9个数字,总共19个。

然后使用

^{pr2}$

那么c就是24691358028395061724320987653925925926,19个数字在小数点之后,所以你的答案a*b将是2469135802839506172.4320987653925925926

通过将c转换成str,可以找到c中小数点的位置

我总结如下:def multi(a, b):

"""

"""

a = str(a)

b = str(b)

num = 0

tmp = a.find('.')

if tmp != -1:

num = num + len(a) - tmp - 1

tmp = b.find('.')

if tmp != -1:

num = num + len(b) - tmp -1

a1 = a.replace(".", "")

b1 = b.replace(".", "")

a1 = int(a1)

b1 = int(b1)

c = a1 * b1

ans = [c, num]

c = str(c)

res = c[:len(c)-num]

tmp = c[len(c)-num:]

res = res + '.' + tmp

return res, ans

两个返回,第一个是str格式的浮点,第二个是由两个数字组成的列表,第一个是整数,第二个是小数点后的数字个数。在

希望这对你有帮助!在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值