lyxleo 2019-07-07 23:43 采纳率: 0%
浏览 792
已采纳

字符串能不能转换成浮点数?

我最近在学习超高精度数字的加减法(比如精确到小数点后100位),于是我写了一个函数来计算,代码如下。如有其它缺陷,请各位大神帮忙指出。

import math
def DoublePlus(*pluser):
    #检测传入的加数是不是小数
    pluser=list(pluser)
    m=0
    for i in pluser:
        pluser[m]=str(i)
        m=m+1
    print(pluser)
    m=0
    for i in pluser:
        m=m+1
        print(i.find('.'))
        if not (i.find('.')==-1):
            pass
        else:
            raise ValueError ("在第"+str(m)+"个加数中不是小数")
    #通过竖式的方式进行加法运算
    #共进行pluser的长度-1次循环
    for index in range(len(pluser)-1):
        x=pluser[index]#加数1
        y=pluser[index+1]#加数2
        print(math.floor(int(x)))
        x_integer_part=math.floor(int(x))#加数1的整数部分
        y_integer_part=math.floor(int(y))#加数2的整数部分
        #取x和y的小数部分
        x_point=x.find('.')
        x_decimal_part=int('0'+x[x_point::])
        y_point=y.find('.')
        x_decimal_part=int('0'+y[y_point::])
        #开始计算(小数部分 )
        #位数少的补0
        if len(x_decimal_part)>len(y_decimal_part):
            poor=x_decimal_part-y_decimal_part
            y_decimal_part=y_decimal_part+'0'*poor
        elif len(y_decimal_part)>len(x_decimal_part):
            poor=y_decimal_part-x_decimal_part
            x_decimal_part=x_decimal_part+'0'*poor
        else:
            pass
        #倒序
        x_decimal_part=x_decimal_part[::-1]
        y_decimal_part=y_decimal_part[::-1]
        #初始没有进位
        carry=False

if __name__=='__main__':
    DoublePlus(15.685,2.1,3.1,4.1)

但是print(math.floor(int(x)))
这一行老是报错,说:ValueError: invalid literal for int() with base 10: '15.685',虽然能看懂,但不知道如何解决,Python2的string库在3中已经无法使用了,实在不知道如何解决,求各位大神帮忙解决,感谢!

  • 写回答

1条回答 默认 最新

  • 吃鸡王者 2019-07-08 09:47
    关注

    直接float(x) 就可以了,你float(int(x)) 是什么意思??

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?