Hướng dẫn how do i change a dot in python? - làm cách nào để thay đổi dấu chấm trong python?

1 bài đăng Chủ đề của Brian Donovan | Bài cuối cùng: bởi views Thread by Brian Donovan | last post: by

Trả lời Xem chủ đề của Chris McKeever | Bài cuối cùng: bởi views Thread by Chris McKeever | last post: by

14 Bài viết Quan điểm Chủ đề của David Macquigg | Bài cuối cùng: bởi views Thread by David MacQuigg | last post: by

1 lượt xem chủ đề của Vincent Touquet | Bài cuối cùng: bởi views Thread by Vincent Touquet | last post: by

8 Bài viết Quan điểm Chủ đề của John Mowbray | Bài cuối cùng: bởi views Thread by John Mowbray | last post: by

6 bài viết Xem Chủ đề của Farshid Lashkari | Bài cuối cùng: bởi views Thread by Farshid Lashkari | last post: by

2 Bài viết Quan điểm Chủ đề của Penglish2 | Bài cuối cùng: bởi views Thread by penglish2 | last post: by

5 Bài viết Quan điểm Chủ đề của Vamsee Krishna Gomatam | Bài cuối cùng: bởi views Thread by Vamsee Krishna Gomatam | last post: by

13 bài viết Quan điểm chủ đề của Wiseman | Bài cuối cùng: bởi views Thread by Wiseman | last post: by

10 bài viết Quan điểm chủ đề của Sophie_Newbie | Bài cuối cùng: bởi views Thread by sophie_newbie | last post: by

Hướng dẫn how do i change a dot in python? - làm cách nào để thay đổi dấu chấm trong python?

Hướng dẫn how do i change a dot in python? - làm cách nào để thay đổi dấu chấm trong python?

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

Hướng dẫn how do i change a dot in python? - làm cách nào để thay đổi dấu chấm trong python?

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

Hướng dẫn how do i change a dot in python? - làm cách nào để thay đổi dấu chấm trong python?

Karl Knechtelkarl KnechtelKarl Knechtel

59.4K10 Huy hiệu vàng86 Huy hiệu bạc132 Huy hiệu đồng10 gold badges86 silver badges132 bronze badges

9

Chỉ cần xóa

float("123,456.908".replace(',',''))
0 bằng
float("123,456.908".replace(',',''))
1:

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

Hướng dẫn how do i change a dot in python? - làm cách nào để thay đổi dấu chấm trong python?

Đây là một cách đơn giản tôi đã viết cho bạn. :)zeekay

Đã trả lời ngày 9 tháng 7 năm 2011 lúc 8:0413 gold badges107 silver badges105 bronze badges

7

John Doejohn Doe

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

3,3921 Huy hiệu vàng17 Huy hiệu bạc21 Huy hiệu đồngApr 24, 2018 at 14:15

Bạn có thể sử dụng Babel:hayj

Đã trả lời ngày 25 tháng 9 lúc 18:1411 silver badges21 bronze badges

1

Ahmkaraahmkara

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

3694 Huy hiệu bạc5 Huy hiệu Đồng

Chỉ cần thay thế ____10 bằng thay thế ().Jul 25, 2018 at 9:45

loại () sẽ cho bạn thấy rằng nó đã chuyển đổi thành một chiếc phao

 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.4K38 Huy hiệu vàng106 Huy hiệu bạc153 Huy hiệu đồng38 gold badges106 silver badges153 bronze badges

Giải pháp tốt hơn cho các định dạng tiền tệ khác nhau:

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))

Đã trả lời ngày 5 tháng 3 năm 2019 lúc 14:07Mar 5, 2019 at 14:07

Hướng dẫn how do i change a dot in python? - làm cách nào để thay đổi dấu chấm trong python?

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

Đây là một cách đơn giản tôi đã viết cho bạn. :)

>>> number = '123,456,789.908'.replace(',', '') # '123456789.908'
>>> float(number)
123456789.908

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

John Doejohn DoeJohn Doe

3,3921 Huy hiệu vàng17 Huy hiệu bạc21 Huy hiệu đồng1 gold badge17 silver badges21 bronze badges

3

Bạn có thể sử dụng Babel:

from babel.numbers import parse_decimal
f = float(parse_decimal("123,456.908", locale="en_US"))

Đã trả lời ngày 25 tháng 9 lúc 18:14Sep 25 at 18:14

Ahmkaraahmkaraahmkara

3694 Huy hiệu bạc5 Huy hiệu Đồng4 silver badges5 bronze badges

Chỉ cần thay thế ____10 bằng thay thế ().

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

loại () sẽ cho bạn thấy rằng nó đã chuyển đổi thành một chiếc phao

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

Hướng dẫn how do i change a dot in python? - làm cách nào để thay đổi dấu chấm trong python?

1