Hướng dẫn how to convert integer to decimal in python - làm thế nào để chuyển đổi số nguyên thành số thập phân trong python

73

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có một chuỗi ở định dạng: 'nn.nnnnn' trong Python và tôi muốn chuyển đổi nó thành một số nguyên.

Chuyển đổi trực tiếp thất bại:

>>> s = '23.45678'
>>> i = int[s]
Traceback [most recent call last]:
  File "", line 1, in 
ValueError: invalid literal for int[] with base 10: '23.45678'

Tôi có thể chuyển đổi nó thành một số thập phân bằng cách sử dụng:

>>> from decimal import *
>>> d = Decimal[s]
>>> print d
23.45678

Tôi cũng có thể chia thành '.', Sau đó trừ số thập phân từ 0, sau đó thêm nó vào toàn bộ số ... yuck.

Nhưng tôi thích có nó như một INT, mà không cần chuyển đổi loại không cần thiết hoặc điều động.

hỏi ngày 7 tháng 7 năm 2009 lúc 20:35Jul 7, 2009 at 20:35

Matt Hampelmatt HampelMatt Hampel

4.91111 Huy hiệu vàng48 Huy hiệu bạc77 Huy hiệu đồng11 gold badges48 silver badges77 bronze badges

1

Còn cái này thì sao?

>>> s = '23.45678'
>>> int[float[s]]
23

Or...

>>> int[Decimal[s]]
23

Or...

>>> int[s.split['.'][0]]
23

Tôi nghi ngờ nó sẽ trở nên đơn giản hơn thế nhiều, tôi sợ. Chỉ cần chấp nhận nó và tiếp tục.

Đã trả lời ngày 7 tháng 7 năm 2009 lúc 20:36Jul 7, 2009 at 20:36

Paolo Bergantinopaolo BergantinoPaolo Bergantino

472K78 Huy hiệu vàng518 Huy hiệu bạc436 Huy hiệu Đồng78 gold badges518 silver badges436 bronze badges

2

Bạn muốn loại hành vi làm tròn nào? Bạn có 2.67 để biến thành 3 hay 2. Nếu bạn muốn sử dụng làm tròn, hãy thử điều này:

s = '234.67'
i = int[round[float[s]]]

Nếu không, chỉ cần làm:

s = '234.67'
i = int[float[s]]

Đã trả lời ngày 7 tháng 7 năm 2009 lúc 20:41Jul 7, 2009 at 20:41

>>> s = '23.45678'
>>> int[float[s]]
23
>>> int[round[float[s]]]
23
>>> s = '23.54678'
>>> int[float[s]]
23
>>> int[round[float[s]]]
24

Bạn không chỉ định nếu bạn muốn làm tròn hay không ...

Đã trả lời ngày 7 tháng 7 năm 2009 lúc 20:47Jul 7, 2009 at 20:47

Kevin Littlekevin LittleKevin Little

12.2k5 Huy hiệu vàng38 Huy hiệu bạc47 Huy hiệu đồng5 gold badges38 silver badges47 bronze badges

"Chuyển đổi" chỉ có ý nghĩa khi bạn thay đổi từ kiểu dữ liệu này sang loại dữ liệu khác mà không mất độ trung thực. Số được biểu thị bằng chuỗi là một chiếc phao và sẽ mất độ chính xác khi bị buộc vào INT.

Thay vào đó, bạn muốn làm tròn, có lẽ [tôi hy vọng rằng các con số không đại diện cho tiền tệ vì sau đó làm tròn trở nên phức tạp hơn rất nhiều].

round[float['23.45678']]

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

JosefassadjosefassadJosefAssad

3.90427 Huy hiệu bạc37 Huy hiệu đồng27 silver badges37 bronze badges

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

s = '23.245678'
i = int[float[s]]

Đã trả lời ngày 7 tháng 7 năm 2009 lúc 20:40Jul 7, 2009 at 20:40

GBCGBCgbc

8.2856 Huy hiệu vàng34 Huy hiệu bạc 30 Huy hiệu Đồng6 gold badges34 silver badges30 bronze badges

Biểu thức

>>> from decimal import *
>>> d = Decimal[s]
>>> print d
23.45678
2 được đề cập bởi người khác là tốt nhất nếu bạn muốn cắt giảm giá trị. Nếu bạn muốn làm tròn, sử dụng
>>> from decimal import *
>>> d = Decimal[s]
>>> print d
23.45678
3 nếu thuật toán tròn phù hợp với những gì bạn muốn [xem tài liệu tròn], nếu không bạn nên sử dụng
>>> from decimal import *
>>> d = Decimal[s]
>>> print d
23.45678
4 và một nếu thuật toán làm tròn của nó.

Đã trả lời ngày 7 tháng 7 năm 2009 lúc 20:48Jul 7, 2009 at 20:48

Kathy Van Stonekathy Van StoneKathy Van Stone

24.9k3 Huy hiệu vàng31 Huy hiệu bạc40 Huy hiệu đồng3 gold badges31 silver badges40 bronze badges

>>> from decimal import *
>>> d = Decimal[s]
>>> print d
23.45678
0

sẽ cung cấp cho bạn một giá trị số nguyên, nhưng một loại float. Tuy nhiên, với việc gõ vịt của Python, loại thực tế thường không liên quan lắm. Điều này cũng sẽ làm tròn giá trị mà bạn có thể không muốn. Thay thế 'vòng' bằng 'int' và bạn sẽ có nó bị cắt và một int thực tế. Như thế này:

>>> from decimal import *
>>> d = Decimal[s]
>>> print d
23.45678
1

Nhưng, một lần nữa, 'loại' thực tế thường không quan trọng.

Đã trả lời ngày 7 tháng 7 năm 2009 lúc 20:47Jul 7, 2009 at 20:47

Kevin Littlekevin Littlerledley

12.2k5 Huy hiệu vàng38 Huy hiệu bạc47 Huy hiệu đồng1 gold badge12 silver badges7 bronze badges

"Chuyển đổi" chỉ có ý nghĩa khi bạn thay đổi từ kiểu dữ liệu này sang loại dữ liệu khác mà không mất độ trung thực. Số được biểu thị bằng chuỗi là một chiếc phao và sẽ mất độ chính xác khi bị buộc vào INT.

Thay vào đó, bạn muốn làm tròn, có lẽ [tôi hy vọng rằng các con số không đại diện cho tiền tệ vì sau đó làm tròn trở nên phức tạp hơn rất nhiều].

Đã trả lời ngày 7 tháng 7 năm 2009 lúc 20:45

Josefassadjosefassad

3.90427 Huy hiệu bạc37 Huy hiệu đồng

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

Đã trả lời ngày 7 tháng 7 năm 2009 lúc 20:40Nov 7, 2021 at 17:46

Làm thế nào để bạn biến một số nguyên thành một số thập phân?

Để chuyển đổi toàn bộ một số thành một số thập phân, bạn phải quyết định kết quả thành một số vị trí nhất định sau điểm thập phân và chỉ cần thêm số thập phân và số lượng không cần thiết ở phía bên phải của toàn bộ số. Ví dụ: Chuyển đổi 5 thành thập phân thành vị trí thứ trăm. Cho rằng toàn bộ số là 5.add a decimal and the number of zeros required to the right side of the whole number. For example: Convert 5 into decimal to the hundredth place. Given that the whole number is 5.

Một số nguyên có thể có một số thập phân trong Python?

Python hỗ trợ số nguyên, số điểm nổi và số phức.Chúng được định nghĩa là Int, Float và các lớp phức tạp trong Python.Các số nguyên và các điểm nổi được phân tách bằng sự hiện diện hoặc vắng mặt của một dấu thập phân.Integers and floating points are separated by the presence or absence of a decimal point.

Decimal [] trong Python là gì?

Trong Python, có một mô -đun gọi là thập phân, được sử dụng để thực hiện một số nhiệm vụ liên quan đến điểm nổi.Mô-đun này cung cấp số học dấu phẩy động chính xác.Để sử dụng nó lúc đầu, chúng ta cần nhập nó vào mô -đun thư viện tiêu chuẩn thập phân.Nhập khẩu thập phân.used to do some decimal floating point related tasks. This module provides correctly-rounded floating point arithmetic. To use it at first we need to import it the Decimal standard library module. import decimal.

Làm thế nào để bạn viết một số thập phân trong Python?

Nếu giá trị là một tuple, nó nên có ba thành phần, một dấu [0 cho dương hoặc 1 cho âm], một bộ chữ số và số mũ số nguyên.Ví dụ: thập phân [[0, [1, 4, 1, 4], -3]] trả về thập phân ['1.414'].

Bài Viết Liên Quan

Chủ Đề