[英]python3: How can I add decimals that are inside a string
我是初學者,我想在字符串s
添加小數
totalsum=0
s='1.23 2.4 3.123'
for a in s:
totalsum=totalsum+float(a)
print (totalsum)
但是當我試着說
ValueError: could not convert string to float: '.'
如何添加這三位小數?
你正在迭代字符串的每個字符 。 它首先工作(好吧, 1
...),但是當你到達時.
你得到一個解析錯誤。
現在,您需要拆分字符串。 並且是pythonic,在一行中做到這一點:
totalsum = sum(map(float,s.split()))
您可以使用正則表達式:
import re
s='1.23 2.4 -4.3 3.123 56'
data = sum(map(float, re.findall('(-*\d+\.*\d+)|\b-*\d+\b', s)))
輸出:
58.453
你必須這樣做,你試圖將整個字符串添加到浮動。 相反,你必須拆分並添加它們
totalsum=0
s='1.23 2.4 3.123'
for a in s.split():
totalsum=totalsum+float(a)
print (totalsum)
你需要拆分你的字符串。
totalsum=0
s='1.23 2.4 3.123'.split()
for a in s:
totalsum =totalsum + float(a)
print (totalsum)
輸出:
6.753
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.