Làm cách nào để chuyển đổi chuỗi thành số trong python 3?
Python là một ngôn ngữ được gõ động. Ở đây, trình thông dịch dự đoán kiểu dữ liệu của biến Python dựa trên loại giá trị được gán cho biến đó Show
Khi bạn lấy đầu vào của người dùng bằng Python, nó luôn được nhận dưới dạng một chuỗi. Nó được lấy dưới dạng một chuỗi, cho dù đầu vào là số nguyên, danh sách, số thập phân hay số khác. Do đó, bạn phải chuyển đổi rõ ràng chuỗi thành giá trị mong muốn để tiến hành các thao tác cần thiết trên chuỗi đó. Điều này còn được gọi là Chuyển đổi loại Chuyển đổi loại có thể được thực hiện cho các loại dữ liệu khác nhau, như chuyển đổi số nguyên thành chuỗi hoặc ngược lại. Trong bài viết này, chúng ta sẽ thảo luận về các phương pháp chuyển đổi một chuỗi thành double trong Python Nhưng trước khi tiếp tục, hãy tìm hiểu về chuỗi và nhân đôi trong Python Nhân đôi trong Python là gì?Theo tiêu chuẩn IEEE 754, tất cả các nền tảng biểu thị số float Pyhton dưới dạng giá trị "độ chính xác kép" 64 bit. (Có vẻ giống với double trong ngôn ngữ C). Python không có kiểu dữ liệu kép dựng sẵn (int, string và float là các kiểu dữ liệu dựng sẵn) Nhưng nó bao gồm kiểu dữ liệu float, đại diện cho một giá trị dấu chấm động (nhưng ở đây với độ chính xác cao hơn). Nó cho phép bạn đếm gấp đôi vì float cũng được biểu thị bằng dấu thập phân Sự khác biệt giữa float và double là gì? . Một double chứa 15 chữ số thập phân chính xác và chiếm 64 bit. Ngoài ra, float có độ chính xác thấp hơn gấp đôi Hãy lấy một ví dụ về double trong Python # Program: Double in Python # a double data type num = 45.3365859965333 print(num, " type: ", type(num)) # a float variable f = 45.4564 print(f, " type: ", type(f))
đầu ra 45.3365859965333 type: <class 'float'> 45.4564 type: <class 'float'>
Lưu ý cách trong Python cả hai loại đều hiển thị 'float', ngay cả khi độ chính xác của cả hai số là khác nhau Chuỗi trong Python là gì?Chuỗi là kiểu dữ liệu thường được sử dụng nhất trong bất kỳ ngôn ngữ nào. Đó là một dãy ký tự (bao gồm số, bảng chữ cái, ký tự đặc biệt và cả khoảng trắng). Trong Python, bất kỳ chuỗi ký tự nào được đặt trong dấu ngoặc kép (đơn hoặc kép) đều là một chuỗi Hãy lấy một ví dụ # Program: String in Python # a character char = "m" print(char, " type: ", type(char)) # sequence in double quotation string = "Convert String to Double in Python" print(string + " type: ", type(string)) # sequence in single quotation s = "FavTutor" print(s + " type: ", type(s))
đầu ra m type: <class 'str'> Convert String to Double in Python type: <class 'str'> FavTutor type: <class 'str'>
Từ đầu ra, bạn có thể lưu ý rằng kiểu dữ liệu là "chuỗi" cho mỗi biến mẫu được tạo ở trên Cần phải chuyển đổi một chuỗi thành gấp đôi là gì?Như đã đề cập trước đó, Python chấp nhận đầu vào ở dạng chuỗi, có thể là số nguyên hoặc số khác. Hãy kiểm tra tuyên bố # Program: Taking input from Python num = input("Enter a number: ") print("The input is: ", num, " and type: ", type(num))
đầu ra Enter a number: 45.879841313 The input is: 45.879841313 and type: <class 'str'>
Bây giờ bạn đã xác nhận kiểu dữ liệu của đầu vào. Như bạn đã biết, kiểu dữ liệu phải tương thích với thao tác đang được thực hiện, nếu không nó sẽ tạo ra lỗi Vì vậy, trong khi bạn đang ở đó, hãy xác nhận điều này num = input("Enter a number: ") print("The input is: ", num, " and type: ", type(num)) # operating on input print(num - 10)
đầu ra Enter a numbers: 45.48984661 The input is: 45.48984661 and type: <class 'str'> Traceback (most recent call last): File ".\temp.py", line 5, in <module> print(num - 10) TypeError: unsupported operand type(s) for -: 'str' and 'int'
Lưu ý rằng TypeError được tạo ra cũng mô tả rằng thao tác (thường được thực hiện với int hoặc float) không được định dạng đầu vào của bạn hỗ trợ. Do đó nảy sinh nhu cầu chuyển đổi chuỗi sang các kiểu dữ liệu khác Làm cách nào để chuyển đổi chuỗi thành chuỗi kép trong Python?Có nhiều phương pháp để Chuyển đổi kiểu chuỗi thành chuỗi kép trong python. Hãy kiểm tra một vài trong số họ 01) Sử dụng float()Bạn có thể chuyển đổi một chuỗi thành double trong Python bằng phương thức float(). Phương thức này chỉ yêu cầu một tham số và trả về đầu vào là float (ở đây là double). Đây cũng là một phương pháp phổ biến để chuyển đổi một chuỗi thành float trong Python. (Hãy nhớ rằng Python sử dụng float như double. ) Ví dụ ________số 8
đầu ra Enter a number: 45.1365464 The input is: 45.1365464 num: 45.1365464 type: <class 'float'> Performing operation: 35.1365464
Tôi đã chuyển đổi kiểu và cũng mô tả việc sử dụng kiểu dữ liệu đã chuyển đổi bằng cách thực hiện thao tác trừ. Lưu ý rằng hàm float chỉ hoạt động với các biểu diễn dấu phẩy động. Nó trả về lỗi khi một biểu diễn không float được truyền cho nó dưới dạng tham số. Hãy cùng kiểm tra nào 45.3365859965333 type: <class 'float'> 45.4564 type: <class 'float'>0
đầu ra 45.3365859965333 type: <class 'float'> 45.4564 type: <class 'float'>1
Bạn có thể thay thế ',' bằng ' khác. ' hoặc sử dụng try-catch để bắt lỗi này Mặc dù float() rất dễ sử dụng và dễ nhớ, nhưng hãy lưu ý rằng nếu số chuỗi chứa hơn 15 chữ số có nghĩa, thì float() sẽ làm tròn số đó Ví dụ 45.3365859965333 type: <class 'float'> 45.4564 type: <class 'float'>2
đầu ra 45.3365859965333 type: <class 'float'> 45.4564 type: <class 'float'>3
Lưu ý cách số được làm tròn trong đầu ra. Để tránh sự bất thường này, Python cung cấp cho chúng ta một hàm khác, được gọi là hàm Decimal(). Hãy tìm hiểu thêm về nó 02) Sử dụng số thập phân()Mô-đun thập phân trong Python cung cấp hàm Decimal() chuyển đổi một chuỗi thành gấp đôi trong Python. Nó lấy chuỗi làm tham số đầu vào và chuyển đổi nó thành kiểu thập phân. Điều này có thể lưu trữ và đại diện cho số với độ chính xác cần thiết Hãy xem cách sử dụng hàm Decimal() của Python để chuyển đổi một chuỗi thành số có độ chính xác kép 45.3365859965333 type: <class 'float'> 45.4564 type: <class 'float'>4
đầu ra 45.3365859965333 type: <class 'float'> 45.4564 type: <class 'float'>5
Lưu ý cách hàm Decimal() không làm tròn các giá trị đối với biểu diễn số thực có hơn 15 chữ số có nghĩa Ngoài việc chuyển chuỗi thành double trong Python, hàm Decimal() còn được gọi để mang lại độ chính xác cho số, chẳng hạn 45.3365859965333 type: <class 'float'> 45.4564 type: <class 'float'>6
đầu ra 45.3365859965333 type: <class 'float'> 45.4564 type: <class 'float'>7
Hàm Decimal() đã cung cấp độ chính xác cao hơn cho số đã được trình bày Ngoài ra, tương tự như hàm float(), hàm Decimal() cũng chỉ nhận các biểu diễn float hợp lệ của một số. Đó là lỗi Hoạt động không hợp lệ khi một đối số như 1.465. 6556 được chuyển đến nó như một đối số 03) Sử dụng gấu trúc. to_numeric()Khi làm việc với Python, bạn cũng sẽ bắt gặp DataFrames. DataFrames là một trong những cấu trúc dữ liệu được sử dụng phổ biến nhất trong phân tích dữ liệu hiện đại. Điều này đưa chúng ta đến một cách sử dụng khác của việc chuyển đổi chuỗi thành gấp đôi trong Python Trước khi chuyển sang chuyển đổi, chúng ta hãy xem DataFrames là gì? . Chúng cung cấp một cách linh hoạt và dễ dàng để lưu trữ và làm việc với dữ liệu Bây giờ, bạn đã học về DataFrames, hãy chuyển sang tạo một khung dữ liệu trong Python 45.3365859965333 type: <class 'float'> 45.4564 type: <class 'float'>8
Bạn cần nhập mô-đun của gấu trúc để tạo Dataframe này. Hai chức năng được sử dụng ở đây để tạo khung dữ liệu
Ở đây, df là tên của biến được dùng để tham chiếu khung dữ liệu của chúng tôi đầu ra 45.3365859965333 type: <class 'float'> 45.4564 type: <class 'float'>9
Các dtypes trả về 'đối tượng' dtype cho các cột có các loại hỗn hợp. Lưu ý rằng dtype là một thuộc tính của DataFrame Bây giờ bạn đã tạo khung dữ liệu, hãy chuyển sang chuyển đổi một trong các cột này thành float. Vì cột "Phí" không phải là loại hỗn hợp. hãy thử chuyển đổi cái này thành float trong Python- Hàm to_numeric() chuyển đổi đối số đã truyền thành kiểu số. Theo mặc định, nó trả về 'int64' hoặc 'float64' theo dữ liệu được cung cấp # Program: String in Python # a character char = "m" print(char, " type: ", type(char)) # sequence in double quotation string = "Convert String to Double in Python" print(string + " type: ", type(string)) # sequence in single quotation s = "FavTutor" print(s + " type: ", type(s))0
đầu ra # Program: String in Python # a character char = "m" print(char, " type: ", type(char)) # sequence in double quotation string = "Convert String to Double in Python" print(string + " type: ", type(string)) # sequence in single quotation s = "FavTutor" print(s + " type: ", type(s))1
Lưu ý cách dtype cho cột "Phí" đã thay đổi từ 'int64' thành 'float64'. (Mặc dù để được chuyển đổi thành double, đây phải là float64 hoặc float128, nó cũng có float32 đi kèm. ) Để biết thêm về các cách chuyển đổi chuỗi thành Python, hãy xem 6 cách chuyển đổi chuỗi thành nổi trong Python Phần kết luậnTrong bài viết này, chúng ta đã thảo luận về cách chuyển đổi chuỗi thành chuỗi kép trong Python. Ngoài ra, chúng tôi đã hiểu rõ hơn về DataFrames trong Pandas và đã chuyển đổi dtype của một cột thành gấp đôi (float64). Nếu bạn cần độ chính xác cao hơn, bạn cũng có thể sử dụng float128 của numpy Như đã đề cập trước đó, float của Python có độ chính xác loại kép, do đó bạn cũng có thể chuyển đổi chuỗi thành float trong Python để đạt được mục đích Tôi có thể chuyển đổi một chuỗi thành một số nguyên không?Chúng ta có thể chuyển String thành int trong java bằng cách sử dụng Integer. phương thức parseInt() . Để chuyển đổi String thành Integer, chúng ta có thể sử dụng Integer. valueOf() phương thức trả về thể hiện của lớp Integer.
Làm thế nào chuỗi được chuyển đổi thành một số?Chuỗi có thể được chuyển đổi thành số bằng cách sử dụng các phương thức int() và float() . Nếu chuỗi của bạn không có vị trí thập phân, rất có thể bạn sẽ muốn chuyển đổi nó thành số nguyên bằng cách sử dụng phương thức int().
Làm cách nào để chuyển đổi chuỗi thành int trong Python mà không cần int?Cách tiếp cận. Ý tưởng là sử dụng giá trị ASCII của các chữ số từ 0 đến 9 bắt đầu từ 48 – 57. Do đó, để thay đổi ký tự số thành số nguyên trừ 48 từ giá trị ASCII của ký tự sẽ ra chữ số tương ứng cho ký tự đã cho .
Cách nhanh nhất để chuyển đổi một chuỗi thành một số là gì?Chuyển đổi chuỗi thành số là cực kỳ phổ biến. Cách dễ nhất và nhanh nhất (jsPerf) để đạt được điều đó là sử dụng toán tử + (cộng) . Bạn cũng có thể sử dụng toán tử - (trừ) loại chuyển đổi giá trị thành số nhưng cũng phủ định giá trị đó. |