Tôi muốn thay đổi số nguyên như 23457689 thành 689, 12457245 thành 245, v.v.Lấy ba chữ số cuối của số nguyên
Tôi không yêu cầu số được làm tròn và không muốn chuyển thành Chuỗi .
Bất kỳ ý tưởng nào về cách thực hiện điều này trong Python 2.7?
Tôi muốn thay đổi số nguyên như 23457689 thành 689, 12457245 thành 245, v.v.Lấy ba chữ số cuối của số nguyên
Tôi không yêu cầu số được làm tròn và không muốn chuyển thành Chuỗi .
Bất kỳ ý tưởng nào về cách thực hiện điều này trong Python 2.7?
Để xử lý số nguyên cả tích cực và tiêu cực một cách chính xác:
>>> x = -23457689
>>> print abs(x) % 1000
689
Là một chức năng mà bạn có thể chọn số chữ số hàng đầu để giữ:
import math
def extract_digits(integer, digits=3, keep_sign=False):
sign = 1 if not keep_sign else int(math.copysign(1, integer))
return abs(integer) % (10**digits) * sign
Ràng buộc để tránh chuyển sang str
là quá phẫn nộ. Chuyển đổi thành str
sẽ là một cách hay để thực hiện việc này nếu định dạng của số có thể thay đổi hoặc nếu định dạng của các chữ số cuối cần lưu giữ sẽ thay đổi.
>>> int(str(x)[-3:])
^^^^^ Easier to modify this than shoe-horning the mod function.
Cảm ơn, nhưng tôi chỉ đơn giản là cần phải trích xuất các chữ số cuối cùng và cốt truyện, các giá trị sẽ không bao giờ thay đổi. Tôi có thể sử dụng điều này cũng như –
"các giá trị sẽ không bao giờ thay đổi ..." mọi lập trình viên từng nói. – ely
Tôi đoán tôi vẫn còn rất nhiều điều cần tìm hiểu. –
Cảm ơn! Đó chính xác là những gì tôi cần. –