python_字符串数字求和

有两个字符串类型的数字,实现一个方法将它们进行相加,并返回相加后的数值。

情况1:字符串中有小数,不考虑进位

def add_string(num1, num2):
   num1_int = float(num1)
  num2_int = float(num2)
  sum_int = num1_int + num2_int
  # round() 函数对结果进行四舍五入,且保留两位小数
  sum_str = str((round(sum_int, 2)))
  return sum_str


sum3 = add_string('100', '1')
print(sum3)

情况2:考虑数据的长度问题,有进位,不考虑小数

def add_strings(num1, num2):
# 获取两个字符串的长度
len1 = len(num1)
len2 = len(num2)
# 处理长度不一致的情况
if len1 > len2:
num2 = '0' * (len1 - len2) + num2
else:
num1 = '0' * (len2 - len1) + num1
# 进行字符串相加
result = ''
carry = 0
for i in range(max(len1, len2)):
# 将当前位置的数字和进位相加
temp = int(num1[i]) + int(num2[i]) + carry
# 处理进位
carry = temp // 10
result += str(temp % 10)
# 如果还有进位,添加到结果的开头
if carry > 0:
result = str(carry) + result
return result


print(add_strings('123', '456'))
print(add_strings('12345', '16'))
posted @ 2023-12-28 23:04  西瓜_1024  阅读(354)  评论(0)    收藏  举报