Hướng dẫn how to remove comma in data in php? - Làm thế nào để loại bỏ dấu phẩy trong dữ liệu trong php?

71

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.

Trong PHP, tôi có một loạt các biến là tất cả các chuỗi. Một số giá trị được lưu trữ là chuỗi số với dấu phẩy.

Tôi cân gi:

Một cách để cắt dấu phẩy từ các chuỗi, và chỉ làm điều này cho các chuỗi số. Điều này không đơn giản như vẻ ngoài của nó. Lý do chính là những thất bại sau:

$a = "1,435";

if(is_numeric($a))
    $a = str_replace(',', '', $a);

Điều này thất bại vì $a = "1435" là số. Nhưng

$a = "1,435";
$b = str_replace( ',', '', $a );

if( is_numeric( $b ) ) {
    $a = $b;
}
0 không phải là số. Bởi vì một số chuỗi tôi nhận được sẽ là câu thông thường với dấu phẩy, tôi không thể chạy một chuỗi thay thế trên mỗi chuỗi.

Hướng dẫn how to remove comma in data in php? - Làm thế nào để loại bỏ dấu phẩy trong dữ liệu trong php?

hỏi ngày 17 tháng 2 năm 2012 lúc 20:24Feb 17, 2012 at 20:24

1

Làm theo cách khác xung quanh:

$a = "1,435";
$b = str_replace( ',', '', $a );

if( is_numeric( $b ) ) {
    $a = $b;
}

Đã trả lời ngày 17 tháng 2 năm 2012 lúc 20:29Feb 17, 2012 at 20:29

JjjjjjJJJ

32.5K20 Huy hiệu vàng88 Huy hiệu bạc102 Huy hiệu Đồng20 gold badges88 silver badges102 bronze badges

1

Dễ nhất là:

$var = intval(preg_replace('/[^\d.]/', '', $var));

Hoặc nếu bạn cần nổi:

$var = floatval(preg_replace('/[^\d.]/', '', $var));

Đã trả lời ngày 7 tháng 4 năm 2015 lúc 17:24Apr 7, 2015 at 17:24

JayelajayelaJayela

3551 Huy hiệu vàng4 Huy hiệu bạc7 Huy hiệu đồng1 gold badge4 silver badges7 bronze badges

2

Không được kiểm tra, nhưng có lẽ một cái gì đó như

$a = "1,435";
$b = str_replace( ',', '', $a );

if( is_numeric( $b ) ) {
    $a = $b;
}
1

Đã trả lời ngày 17 tháng 2 năm 2012 lúc 20:28Feb 17, 2012 at 20:28

Hướng dẫn how to remove comma in data in php? - Làm thế nào để loại bỏ dấu phẩy trong dữ liệu trong php?

KenaniahkenaniahKenaniah

5.133333 Huy hiệu bạc27 Huy hiệu đồng23 silver badges27 bronze badges

3

Có vẻ như giải pháp lý tưởng cho những gì bạn đang tìm kiếm là

$a = "1,435";
$b = str_replace( ',', '', $a );

if( is_numeric( $b ) ) {
    $a = $b;
}
2:

$a = filter_var($a, FILTER_VALIDATE_FLOAT, FILTER_FLAG_ALLOW_THOUSAND);

.

Đã trả lời ngày 26 tháng 8 năm 2019 lúc 22:02Aug 26, 2019 at 22:02

orrdorrdorrd

8.9594 Huy hiệu vàng37 Huy hiệu bạc 30 Huy hiệu Đồng4 gold badges37 silver badges30 bronze badges

0

Hãy thử điều này. Điều này đã làm việc cho tôi

$a = "1,435";
$b = str_replace( ',', '', $a );

if( is_numeric( $b ) ) {
    $a = $b;
}
3

Nếu bạn sử dụng number_format như thế này, câu trả lời

$a = "1,435";
$b = str_replace( ',', '', $a );

if( is_numeric( $b ) ) {
    $a = $b;
}
4 sẽ là 1.235,37

Nhưng nếu bạn sử dụng như dưới đây

$a = "1,435";
$b = str_replace( ',', '', $a );

if( is_numeric( $b ) ) {
    $a = $b;
}
3 Câu trả lời sẽ là 1235,37

Nó đang loại bỏ "," của "1.235,37"

Meloman

3.2803 Huy hiệu vàng39 Huy hiệu bạc45 Huy hiệu Đồng3 gold badges39 silver badges45 bronze badges

Đã trả lời ngày 6 tháng 9 năm 2017 lúc 6:20Sep 6, 2017 at 6:20

Hướng dẫn how to remove comma in data in php? - Làm thế nào để loại bỏ dấu phẩy trong dữ liệu trong php?

Kaushikaushikaushi

1531 Huy hiệu bạc5 Huy hiệu đồng1 silver badge5 bronze badges

1

 function cleanData($a) {

     if(is_numeric($a)) {

     $a = preg_replace('/[^0-9,]/s', '', $a);
     }

     return $a;

}

Đã trả lời ngày 17 tháng 2 năm 2012 lúc 20:30Feb 17, 2012 at 20:30

RyanryanRyan

14.1k8 Huy hiệu vàng60 Huy hiệu bạc102 Huy hiệu Đồng8 gold badges60 silver badges102 bronze badges

1

Nếu bạn muốn xóa dấu phẩy khỏi các số bên trong một chuỗi cũng chứa các từ, cách dễ nhất mà tôi nghĩ sẽ là sử dụng preg_replace_callback:

Ví dụ: & nbsp; & nbsp;

$a = "1,435";
$b = str_replace( ',', '', $a );

if( is_numeric( $b ) ) {
    $a = $b;
}
6

function cleannr($matches)
{
    return str_replace("," , "" , $matches["nrs"]);
}

$str = preg_replace_callback ("/(?P[0-9]+,[0-9]+)/" , "cleannr" , $str);


Đầu ra:

"Này xin chào, tôi đã có 12500 kudos cho bạn, chi tiêu tốt"

Trong trường hợp này, mẫu (regex) khác với mô hình được đưa ra trong câu trả lời được chấp nhận vì chúng tôi không muốn loại bỏ các dấu phẩy khác (dấu câu).

Nếu chúng tôi sử dụng

$a = "1,435";
$b = str_replace( ',', '', $a );

if( is_numeric( $b ) ) {
    $a = $b;
}
7 ở đây thay vì
$a = "1,435";
$b = str_replace( ',', '', $a );

if( is_numeric( $b ) ) {
    $a = $b;
}
8 đầu ra sẽ là:

"Này xin chào, tôi đã có 12500 kudos cho bạn chi tiêu tốt"

Đã trả lời ngày 6 tháng 9 năm 2017 lúc 19:11Sep 6, 2017 at 19:11

FlaxiousflaxiousFlaxious

1011 Huy hiệu bạc3 Huy hiệu đồng1 silver badge3 bronze badges

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

/**
 * This will parse the money string
 * 
 * For example 1, 234, 456.00 will be converted to 123456.00
 * 
 * @return 
 */
function parseMoney(string $money) : float
{
    $money = preg_replace('/[ ,]+/', '', $money);
    return number_format((float) $money, 2, '.', '');
}

Example;

parseMoney('-1, 100,   000.01'); //-1100000.01

Đã trả lời ngày 16 tháng 7 lúc 20:16Jul 16 at 20:16

Hướng dẫn how to remove comma in data in php? - Làm thế nào để loại bỏ dấu phẩy trong dữ liệu trong php?

Emeka Mbahemeka MbahEmeka Mbah

15.8k8 Huy hiệu vàng72 Huy hiệu bạc94 Huy hiệu Đồng8 gold badges72 silver badges94 bronze badges

Làm thế nào để loại bỏ dấu phẩy cuối cùng trong PHP?

Sử dụng hàm rtrim: rtrim ($ my_string, ','); Tham số thứ hai cho biết ký tự bị xóa ...
Ngoài ra, hãy chắc chắn rằng bạn không có bất kỳ khoảng trống nào sau dấu phẩy, nếu không điều này sẽ thất bại hoặc thực hiện rtrim (trim ($ my_string), ','). ....
Câu trả lời tuyệt vời !.

Làm thế nào để bạn loại bỏ dấu phẩy ở cuối chuỗi?

Để xóa dấu phẩy cuối cùng khỏi một chuỗi, hãy gọi phương thức thay thế () bằng biểu thức chính quy sau /,*$ / làm tham số đầu tiên và chuỗi trống là thứ hai. Phương thức thay thế sẽ trả về một chuỗi mới với dấu phẩy cuối cùng bị xóa. Đã sao chép!call the replace() method with the following regular expression /,*$/ as the first parameter and an empty string as the second. The replace method will return a new string with the last comma removed. Copied!

Làm cách nào để loại bỏ dấu phẩy khỏi danh sách trong Python?

Bạn có thể xóa dấu phẩy khỏi chuỗi trong Python bằng cách sử dụng phương thức String () của String.using string's replace() method.

Làm cách nào để loại bỏ dấu phẩy khỏi chuỗi trong excel?

Xóa dấu phẩy khỏi chuỗi văn bản..
Chọn bộ dữ liệu ..
Nhấp vào tab Trang chủ ..
Trong nhóm chỉnh sửa, nhấp vào tùy chọn Tìm & Thay thế ..
Nhấp vào Thay thế.Điều này sẽ mở hộp thoại Tìm và thay thế ..
Trong trường 'Tìm cái gì:', nhập, (dấu phẩy).
Để lại trường 'Thay thế bằng:' trống.....
Nhấp vào nút Thay thế tất cả ..