Hướng dẫn atof python - con trăn trên mái

Làm thế nào tôi có thể chuyển đổi một chuỗi như

float("123,456.908".replace(',',''))
0 thành float
float("123,456.908".replace(',',''))
1 trong Python?

Nội dung chính ShowShow

  • Làm thế nào để bạn chuyển đổi một số chuỗi với dấu phẩy để nổi trong Python?
  • Làm thế nào để bạn chuyển đổi một danh sách chuỗi thành danh sách float trong Python?
  • Làm cách nào để thay đổi dấu phẩy thành dấu chấm trong Python?
  • Làm thế nào để bạn loại bỏ dấu phẩy trong Python?

Nội phân Chính showShowShow

  • Làm thế nào để bạn chuyển đổi một số chuỗi với dấu phẩy để nổi trong Python?
  • Làm thế nào để bạn chuyển đổi một danh sách chuỗi thành danh sách float trong Python?
  • Làm cách nào để thay đổi dấu phẩy thành dấu chấm trong Python?
  • Làm thế nào để bạn loại bỏ dấu phẩy trong Python?

Hướng dẫn atof python - con trăn trên mái

Nội phân Chính showShow

CodeForester16 gold badges100 silver badges125 bronze badges

35K16 Huy hiệu vàng100 Huy hiệu bạc125 Huy hiệu Đồng16 gold badges100 silver badges125 bronze badgesJul 9, 2011 at 7:59

2

hỏi ngày 9 tháng 7 năm 2011 lúc 7:59Jul 9, 2011 at 7:59

from locale import atof, setlocale, LC_NUMERIC
setlocale(LC_NUMERIC, '') # set to your default locale; for me this is
# 'English_Canada.1252'. Or you could explicitly specify a locale in which floats
# are formatted the way that you describe, if that's not how your locale works :)
atof('123,456') # 123456.0
# To demonstrate, let's explicitly try a locale in which the comma is a
# decimal point:
setlocale(LC_NUMERIC, 'French_Canada.1252')
atof('123,456') # 123.456

... Hoặc thay vì coi dấu phẩy là rác được lọc ra, chúng ta có thể coi chuỗi tổng thể là định dạng cục bộ của phao và sử dụng các dịch vụ nội địa hóa:

Juta4 silver badges12 bronze badges

3714 Huy hiệu bạc12 Huy hiệu đồng4 silver badges12 bronze badgesJul 9, 2011 at 9:22

Đã trả lời ngày 9 tháng 7 năm 2011 lúc 9:22Jul 9, 2011 at 9:22Karl Knechtel

Karl Knechtelkarl KnechtelKarl Knechtel9 gold badges86 silver badges130 bronze badges

9

59K9 Huy hiệu vàng86 Huy hiệu bạc130 Huy hiệu đồng9 gold badges86 silver badges130 bronze badges

Chỉ cần xóa

float("123,456.908".replace(',',''))
2 bằng
float("123,456.908".replace(',',''))
3:
float("123,456.908".replace(',',''))
Jul 9, 2011 at 8:02

Đã trả lời ngày 9 tháng 7 năm 2011 lúc 8:02Jul 9, 2011 at 8:02zeekay

Zeekayzeekayzeekay13 gold badges107 silver badges105 bronze badges

7

50.7K13 Huy hiệu vàng107 Huy hiệu bạc105 Huy hiệu đồng13 gold badges107 silver badges105 bronze badges

Nếu bạn không biết địa phương và bạn muốn phân tích bất kỳ loại số nào, hãy sử dụng hàm

float("123,456.908".replace(',',''))
4 này. Nó không hoàn hảo nhưng có tính đến hầu hết các trường hợp:
>>> parseNumber("a 125,00 €")
125
>>> parseNumber("100.000,000")
100000
>>> parseNumber("100 000,000")
100000
>>> parseNumber("100,000,000")
100000000
>>> parseNumber("100 000 000")
100000000
>>> parseNumber("100.001 001")
100.001
>>> parseNumber("$.3")
0.3
>>> parseNumber(".003")
0.003
>>> parseNumber(".003 55")
0.003
>>> parseNumber("3 005")
3005
>>> parseNumber("1.190,00 €")
1190
>>> parseNumber("1190,00 €")
1190
>>> parseNumber("1,190.00 €")
1190
>>> parseNumber("$1190.00")
1190
>>> parseNumber("$1 190.99")
1190.99
>>> parseNumber("1 000 000.3")
1000000.3
>>> parseNumber("1 0002,1.2")
10002.1
>>> parseNumber("")

>>> parseNumber(None)

>>> parseNumber(1)
1
>>> parseNumber(1.1)
1.1
>>> parseNumber("rrr1,.2o")
1
>>> parseNumber("rrr ,.o")

>>> parseNumber("rrr1rrr")
1
Apr 24, 2018 at 14:15

Đã trả lời ngày 24 tháng 4 năm 2018 lúc 14:15Apr 24, 2018 at 14:15hayj

Hayjhayjhayj11 silver badges21 bronze badges

1

98511 Huy hiệu bạc21 Huy hiệu đồng11 silver badges21 bronze badges

s = s.replace('.','').replace(',','.')
number = float(s)

Nếu bạn có dấu phẩy là dấu phân cách thập phân và dấu chấm là dấu phân cách hàng ngàn, bạn có thể làm:

Hy vọng nó sẽ giúpJul 25, 2018 at 9:45

Đã trả lời ngày 25 tháng 7 năm 2018 lúc 9:45Jul 25, 2018 at 9:45

 my_string = "123,456.908"
 commas_removed = my_string.replace(',', '') # remove comma separation
 my_float = float(commas_removed) # turn from string to float.

Cái này thì sao?

float("123,456.908".replace(',',''))
0

Nói ngắn gọn:Jul 9, 2011 at 8:03

Đã trả lời ngày 9 tháng 7 năm 2011 lúc 8:03Jul 9, 2011 at 8:03Aufwind

AufwindaufwindAufwind38 gold badges106 silver badges152 bronze badges

float("123,456.908".replace(',',''))
1

float("123,456.908".replace(',',''))
2 bằng
float("123,456.908".replace(',',''))
3:
float("123,456.908".replace(',',''))
Jul 9, 2011 at 8:02

1

Đã trả lời ngày 9 tháng 7 năm 2011 lúc 8:02Jul 9, 2011 at 8:02

float("123,456.908".replace(',',''))
2

ZeekayzeekayzeekayMar 5, 2019 at 14:07

50.7K13 Huy hiệu vàng107 Huy hiệu bạc105 Huy hiệu đồng13 gold badges107 silver badges105 bronze badges

Nếu bạn không biết địa phương và bạn muốn phân tích bất kỳ loại số nào, hãy sử dụng hàm

float("123,456.908".replace(',',''))
4 này. Nó không hoàn hảo nhưng có tính đến hầu hết các trường hợp:
>>> parseNumber("a 125,00 €")
125
>>> parseNumber("100.000,000")
100000
>>> parseNumber("100 000,000")
100000
>>> parseNumber("100,000,000")
100000000
>>> parseNumber("100 000 000")
100000000
>>> parseNumber("100.001 001")
100.001
>>> parseNumber("$.3")
0.3
>>> parseNumber(".003")
0.003
>>> parseNumber(".003 55")
0.003
>>> parseNumber("3 005")
3005
>>> parseNumber("1.190,00 €")
1190
>>> parseNumber("1190,00 €")
1190
>>> parseNumber("1,190.00 €")
1190
>>> parseNumber("$1190.00")
1190
>>> parseNumber("$1 190.99")
1190.99
>>> parseNumber("1 000 000.3")
1000000.3
>>> parseNumber("1 0002,1.2")
10002.1
>>> parseNumber("")

>>> parseNumber(None)

>>> parseNumber(1)
1
>>> parseNumber(1.1)
1.1
>>> parseNumber("rrr1,.2o")
1
>>> parseNumber("rrr ,.o")

>>> parseNumber("rrr1rrr")
1
Jul 9, 2011 at 8:04

Đã trả lời ngày 24 tháng 4 năm 2018 lúc 14:15Apr 24, 2018 at 14:15John Doe

Hayjhayjhayj1 gold badge17 silver badges21 bronze badges

3

98511 Huy hiệu bạc21 Huy hiệu đồng11 silver badges21 bronze badges

float("123,456.908".replace(',',''))
6

Nếu bạn có dấu phẩy là dấu phân cách thập phân và dấu chấm là dấu phân cách hàng ngàn, bạn có thể làm:

Hy vọng nó sẽ giúpJul 25, 2018 at 10:12

1

Đã trả lời ngày 25 tháng 7 năm 2018 lúc 9:45Jul 25, 2018 at 9:45

float("123,456.908".replace(',',''))
6

Cái này thì sao?2 days ago

Nói ngắn gọn:ahmkara

Đã trả lời ngày 9 tháng 7 năm 2011 lúc 8:03Jul 9, 2011 at 8:033 silver badges5 bronze badges

Làm thế nào để bạn chuyển đổi một số chuỗi với dấu phẩy để nổi trong Python?

AufwindaufwindAufwindUse the str. replace() method to remove the commas from the string. Use the float() class to convert the string to a floating-point number.

Làm thế nào để bạn chuyển đổi một danh sách chuỗi thành danh sách float trong Python?

24.2K38 Huy hiệu vàng106 Huy hiệu bạc152 Huy hiệu đồng38 gold badges106 silver badges152 bronze badgesuse the list comprehension floats = [float(x) for x in strings] . It iterates over all elements in the list and converts each list element x to a float value using the float(x) built-in function.

Làm cách nào để thay đổi dấu phẩy thành dấu chấm trong Python?

Zeekayzeekayusing replace() function or Using maketrans and translate() functions in Python.

Làm thế nào để bạn loại bỏ dấu phẩy trong Python?

Nội phân Chính showShow to erase commas from the python string. The function re. sub() is used to swap the substring. Also, it will replace any match with the other parameter, in this case, the null string, eliminating all commas from the string.