簡體   English   中英

python3:如何添加字符串中的小數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM