Hướng dẫn python comma float - python dấu phẩy phao

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 phân 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?

CodeForester

35K16 Huy hiệu vàng100 Huy hiệu bạc125 Huy hiệu Đồng16 gold badges100 silver badges125 bronze badges

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

2

... 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:

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

Juta

3714 Huy hiệu bạc12 Huy hiệu đồng4 silver badges12 bronze badges

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

Karl Knechtelkarl KnechtelKarl Knechtel

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

9

Chỉ cần xóa

float["123,456.908".replace[',','']]
2 bằng
float["123,456.908".replace[',','']]
3:

float["123,456.908".replace[',','']]

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

Zeekayzeekayzeekay

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

7

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

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

Hayjhayjhayj

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

1

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:

s = s.replace['.',''].replace[',','.']
number = float[s]

Hy vọng nó sẽ giúp

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

Cái này thì sao?

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

Nói ngắn gọn:

my_float = float[my_string.replace[',', '']]

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

AufwindaufwindAufwind

24.2K38 Huy hiệu vàng106 Huy hiệu bạc152 Huy hiệu đồng38 gold badges106 silver badges152 bronze badges

s =  "123,456.908"
print float[s.replace[',', '']]

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

1

Zeekayzeekay

def text_currency_to_float[text]:
  t = text
  dot_pos = t.rfind['.']
  comma_pos = t.rfind[',']
  if comma_pos > dot_pos:
    t = t.replace[".", ""]
    t = t.replace[",", "."]
  else:
    t = t.replace[",", ""]

  return[float[t]]

50.7K13 Huy hiệu vàng107 Huy hiệu bạc105 Huy hiệu đồngMar 5, 2019 at 14:07

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:

>>> number = '123,456,789.908'.replace[',', ''] # '123456789.908'
>>> float[number]
123456789.908

Đã trả lời ngày 24 tháng 4 năm 2018 lúc 14:15Jul 9, 2011 at 8:04

HayjhayjJohn Doe

98511 Huy hiệu bạc21 Huy hiệu đồng1 gold badge17 silver badges21 bronze badges

3

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:

float["123,456.908".replace[',','']]
6

Hy vọng nó sẽ giúp

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

1

Cái này thì sao?

from babel.numbers import parse_decimal
f = float[parse_decimal["123,456.908", locale="en_US"]]

Nói ngắn gọn:2 days ago

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

Aufwindaufwind3 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?

24.2K38 Huy hiệu vàng106 Huy hiệu bạc152 Huy hiệu đồngUse 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?

Giải pháp tốt hơn cho các định dạng tiền tệ khác nhau:use 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?

Đã trả lời ngày 5 tháng 3 năm 2019 lúc 14:07using 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?

CodeForester 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.

Bài Viết Liên Quan

Chủ Đề