Hướng dẫn how do i get the first digit of a number in php? - làm cách nào để lấy chữ số đầu tiên của một số trong php?

15

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.

Làm thế nào tôi có thể tách một số và nhận hai chữ số đầu tiên trong PHP?

Ví dụ: 1345 -> Tôi muốn đầu ra này => 13 hoặc 1542 Tôi muốn

$number = [int] $number;
0.

Hakre

187K48 Huy hiệu vàng419 Huy hiệu bạc807 Huy hiệu đồng48 gold badges419 silver badges807 bronze badges

Hỏi ngày 14 tháng 9 năm 2011 lúc 8:12Sep 14, 2011 at 8:12

Jennifer Anthonyjennifer AnthonyJennifer Anthony

2.19710 Huy hiệu vàng34 Huy hiệu bạc55 Huy hiệu Đồng10 gold badges34 silver badges55 bronze badges

0

Một khả năng sẽ là sử dụng chuỗi con:

echo substr[$mynumber, 0, 2];

EDIT: Xin vui lòng không như vậy, như Hakre đã nói, điều này sẽ bị phá vỡ đối với số âm hoặc số nhỏ với các vị trí thập phân. Giải pháp của anh ấy là một giải pháp tốt hơn, vì anh ấy đang thực hiện một số kiểm tra để tránh điều này.
please not that, like hakre said, this will break for negative numbers or small numbers with decimal places. his solution is the better one, as he's doing some checks to avoid this.

Đã trả lời ngày 14 tháng 9 năm 2011 lúc 8:13Sep 14, 2011 at 8:13

2

Trước hết bạn cần bình thường hóa số của mình, vì không phải tất cả các số trong PHP chỉ bao gồm các chữ số. Bạn có thể đang tìm kiếm một số nguyên:

$number = [int] $number;

Các vấn đề bạn có thể chạy ở đây là một loạt các số nguyên trong các vấn đề PHP hoặc làm tròn, xem các tài liệu số nguyên,

$number = [int] $number;
1 cũng xuất hiện trong tâm trí.

Vì số bây giờ là một số nguyên, bạn có thể sử dụng nó trong bối cảnh chuỗi và trích xuất hai ký tự đầu tiên sẽ là hai chữ số đầu tiên nếu số không âm. Nếu số là âm, dấu hiệu cần được bảo tồn:

$twoDigits = substr[$number, 0, $number < 0 ? 3 : 2];

Xem bản demo.

Benmorel

32,8K48 Huy hiệu vàng173 Huy hiệu bạc305 Huy hiệu đồng48 gold badges173 silver badges305 bronze badges

Đã trả lời ngày 14 tháng 9 năm 2011 lúc 8:28Sep 14, 2011 at 8:28

Hakrehakrehakre

187K48 Huy hiệu vàng419 Huy hiệu bạc807 Huy hiệu đồng48 gold badges419 silver badges807 bronze badges

Hỏi ngày 14 tháng 9 năm 2011 lúc 8:12

Jennifer Anthonyjennifer Anthony

2.19710 Huy hiệu vàng34 Huy hiệu bạc55 Huy hiệu Đồng

$output = substr[$input, 0, 2]; //get first two characters [digits]

Một khả năng sẽ là sử dụng chuỗi con:Sep 14, 2011 at 8:14

EDIT: Xin vui lòng không như vậy, như Hakre đã nói, điều này sẽ bị phá vỡ đối với số âm hoặc số nhỏ với các vị trí thập phân. Giải pháp của anh ấy là một giải pháp tốt hơn, vì anh ấy đang thực hiện một số kiểm tra để tránh điều này.Spudley

Đã trả lời ngày 14 tháng 9 năm 2011 lúc 8:1339 gold badges229 silver badges304 bronze badges

1

Trước hết bạn cần bình thường hóa số của mình, vì không phải tất cả các số trong PHP chỉ bao gồm các chữ số. Bạn có thể đang tìm kiếm một số nguyên:

Một khả năng sẽ là sử dụng chuỗi con:Sep 14, 2011 at 8:14

EDIT: Xin vui lòng không như vậy, như Hakre đã nói, điều này sẽ bị phá vỡ đối với số âm hoặc số nhỏ với các vị trí thập phân. Giải pháp của anh ấy là một giải pháp tốt hơn, vì anh ấy đang thực hiện một số kiểm tra để tránh điều này.Geoffroy

Đã trả lời ngày 14 tháng 9 năm 2011 lúc 8:134 gold badges47 silver badges98 bronze badges

1

Trước hết bạn cần bình thường hóa số của mình, vì không phải tất cả các số trong PHP chỉ bao gồm các chữ số. Bạn có thể đang tìm kiếm một số nguyên:

$length = 2;
$newstr = substr[$string, $lenght];

Các vấn đề bạn có thể chạy ở đây là một loạt các số nguyên trong các vấn đề PHP hoặc làm tròn, xem các tài liệu số nguyên,

$number = [int] $number;
1 cũng xuất hiện trong tâm trí.Oct 4, 2018 at 12:19

Vì số bây giờ là một số nguyên, bạn có thể sử dụng nó trong bối cảnh chuỗi và trích xuất hai ký tự đầu tiên sẽ là hai chữ số đầu tiên nếu số không âm. Nếu số là âm, dấu hiệu cần được bảo tồn:

$number = 1345; 
$mynumber = [int][$number/100];
echo $mynumber;

Xem bản demo.

BenmorelFeb 2, 2021 at 15:43

Astro-OtterAstro-OtterAstro-Otter

32,8K48 Huy hiệu vàng173 Huy hiệu bạc305 Huy hiệu đồng7 silver badges20 bronze badges

1

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

Bài Viết Liên Quan

Chủ Đề