Làm cách nào để chuyển đổi chuỗi thành float trong PHP?

Vì vậy, nếu bạn gán một giá trị nguyên cho một biến, kiểu của biến đó sẽ tự động là một số nguyên. Sau đó, nếu bạn gán một chuỗi cho cùng một biến, kiểu sẽ thay đổi thành chuỗi

Chuyển đổi tự động này đôi khi có thể phá vỡ mã của bạn

Số nguyên PHP

2, 256, -256, 10358, -179567 đều là số nguyên

Số nguyên là số không có phần thập phân

Kiểu dữ liệu số nguyên là một số không phải số thập phân trong khoảng từ -2147483648 đến 2147483647 trong hệ thống 32 bit và từ -9223372036854775808 đến 9223372036854775807 trong hệ thống 64 bit. Một giá trị lớn hơn [hoặc thấp hơn] giá trị này sẽ được lưu dưới dạng float, vì nó vượt quá giới hạn của một số nguyên

Ghi chú. Một điều quan trọng khác cần biết là ngay cả khi 4 * 2. 5 là 10, kết quả được lưu dưới dạng float, bởi vì một trong các toán hạng là float [2. 5]

Dưới đây là một số quy tắc cho số nguyên

  • Một số nguyên phải có ít nhất một chữ số
  • Một số nguyên KHÔNG được có dấu thập phân
  • Một số nguyên có thể là dương hoặc âm
  • Số nguyên có thể được chỉ định trong ba định dạng. thập phân [dựa trên 10], thập lục phân [dựa trên 16 - có tiền tố là 0x] hoặc bát phân [dựa trên 8 - có tiền tố là 0]

PHP có các hằng số được xác định trước sau đây cho số nguyên

  • PHP_INT_MAX - Số nguyên lớn nhất được hỗ trợ
  • PHP_INT_MIN - Số nguyên nhỏ nhất được hỗ trợ
  • PHP_INT_SIZE -  Kích thước của một số nguyên tính bằng byte

PHP có các hàm sau để kiểm tra xem kiểu của biến có phải là số nguyên không

  • is_int[]
  • is_integer[] - bí danh của is_int[]
  • is_long[] - bí danh của is_int[]

Ví dụ

Kiểm tra xem kiểu của biến có phải là số nguyên không

$x = 5985;
var_dump[is_int[$x]];

$x = 59. 85;
var_dump[is_int[$x]];
?>

Tự mình thử »

Phao nổi PHP

Số float là một số có dấu thập phân hoặc một số ở dạng số mũ

2. 0, 256. 4, 10. 358, 7. 64E+5, 5. 56E-5 đều là phao

Kiểu dữ liệu float thường có thể lưu trữ một giá trị lên đến 1. 7976931348623E+308 [phụ thuộc vào nền tảng] và có độ chính xác tối đa là 14 chữ số

PHP có các hằng số được xác định trước sau đây cho số float [từ PHP 7. 2]

  • PHP_FLOAT_MAX - Số dấu phẩy động có thể biểu thị lớn nhất
  • PHP_FLOAT_MIN - Số dấu phẩy động dương nhỏ nhất có thể biểu thị
  • PHP_FLOAT_MAX - Số dấu phẩy động âm có thể biểu thị nhỏ nhất
  • PHP_FLOAT_DIG - Số chữ số thập phân có thể được làm tròn thành số float và ngược lại mà không làm mất độ chính xác
  • PHP_FLOAT_EPSILON - Số dương nhỏ nhất có thể biểu diễn x, sao cho x + 1. 0. = 1. 0

PHP có các hàm sau để kiểm tra xem kiểu của biến có phải là float không

  • is_float[]
  • is_double[] - bí danh của is_float[]

Ví dụ

Kiểm tra xem loại biến có phải là float không

$x = 10. 365;
var_dump[is_float[$x]];
?>

Tự mình thử »

PHP vô cực

Giá trị số lớn hơn PHP_FLOAT_MAX được coi là vô hạn

PHP có các hàm sau để kiểm tra xem một giá trị số là hữu hạn hay vô hạn

Tuy nhiên, hàm PHP var_dump[] trả về kiểu dữ liệu và giá trị

Ví dụ

Kiểm tra xem một giá trị số là hữu hạn hay vô hạn

$x = 1. 9e411;
var_dump[$x];
?>

Tự mình thử »

PHP NaN

NaN là viết tắt của Not a Number

NaN được sử dụng cho các phép toán bất khả thi

PHP có các hàm sau để kiểm tra xem giá trị có phải là số không

Tuy nhiên, hàm PHP var_dump[] trả về kiểu dữ liệu và giá trị

Ví dụ

Phép tính không hợp lệ sẽ trả về giá trị NaN

$x = acos[8];
var_dump[$x];
?>

Tự mình thử »

Chuỗi số PHP

Hàm is_numeric[] trong PHP có thể được sử dụng để tìm xem một biến có phải là số hay không. Hàm trả về true nếu biến là số hoặc chuỗi số, ngược lại là false

Ví dụ

Kiểm tra xem biến có phải là số không

$x = 5985;
var_dump[is_numeric[$x]];

$x = "5985";
var_dump[is_numeric[$x]];

$x = "59. 85" + 100;
var_dump[is_numeric[$x]];

$x = "Xin chào";
var_dump[is_numeric[$x]];
?>

Tự mình thử »

Ghi chú. Từ PHP7. 0. Hàm is_numeric[] sẽ trả về FALSE cho các chuỗi số ở dạng thập lục phân [e. g. 0xf4c3b00c], vì chúng không còn được coi là chuỗi số

Khi lập trình bằng PHP, có thể xảy ra trường hợp bạn phải chuyển đổi một chuỗi thành một số nguyên. Nhưng chúng tôi biết rằng PHP không cần hoặc không hỗ trợ định nghĩa kiểu rõ ràng khi khai báo một biến. Vì vậy, bạn phải buộc một chuỗi được chuyển đổi thành một số nguyên

Chúng ta sẽ xem xét các cách khác nhau để một chuỗi có thể được chuyển đổi thành một số nguyên trong PHP trong bài viết này

Tại sao chúng ta cần chuyển đổi chuỗi thành số nguyên trong PHP?

Đôi khi bạn có thể cần chuyển đổi một chuỗi thành một số nguyên, float hoặc bất kỳ kiểu dữ liệu nào khác. Điều này là do dữ liệu hoặc giá trị bạn đang làm việc có thể thuộc loại dữ liệu khác. Bạn có thể có một số nguyên ở định dạng chuỗi từ người dùng. Vì vậy bạn phải chuyển chuỗi này thành số để thực hiện các thao tác trong chương trình

Sử dụng hàm number_format[]

Hàm number_format[] là một phương thức có sẵn trong PHP được sử dụng để chuyển đổi một chuỗi có hàng nghìn được nhóm lại. Phải mất 4 tham số

chuỗi số_định dạng [ $number, $decimals, $decimalpoint, $sep ]

  • $number - Đây là số được định dạng. Nếu bạn không đặt bất kỳ tham số nào khác, số này sẽ được định dạng mà không có bất kỳ số thập phân nào
  • $decimals - Đây là tham số tùy chọn được sử dụng để chỉ định số thập phân
  • $decimalpoint - Điều này chỉ định chuỗi được sử dụng để đề cập đến dấu thập phân
  • $sep - Đây là một chuỗi chỉ định dấu tách hàng nghìn

Nếu phương thức chuyển đổi chuỗi thành công, nó sẽ trả về số được định dạng. Khi thất bại, nó sẽ trả về thông báo lỗi E_WARNING

cú pháp

number_format[$string]; // string into integer
number_format[$string,2]; // string into float

Mã ví dụ

Float Value: '.number_format[$string,2];
}else{
	echo 'Not a numaric value';
}
?>

đầu ra

Integer Value: 25
Float Value: 25.00

Giải thích.
Trong chương trình này, một số nguyên ở dạng chuỗi được gán cho một biến gọi là $string. Sau đó, is_numeric[] kiểm tra giá trị của biến và sau đó định dạng nó bằng phương thức number_format[]. nếu giá trị không phải là số, câu lệnh echo sẽ in ra chuỗi “Không phải là giá trị số”.

Sử dụng kiểu truyền kiểu settype[]

Phương thức settype[] được sử dụng để đặt loại biến và sửa đổi loại hiện có của nó

settype[$variable_name, $type]

  • $variable – Đây là biến cần được chuyển đổi
  • $type – Đây là loại bạn muốn chuyển đổi biến thành

cú pháp

[int]$string; // string into integer
[float]$string; // string into float
[double]$string; // string into double

Mã ví dụ

// Declare string value
$string = '25';
$stringf = '25.99';
$stringd = '25.99';

// Check if string in numaric
if [is_numeric[$string]]{

	// Convert string to integer using int type cast
	echo 'Integer Value: '.[int]$string;
}else{
	echo 'Not a numaric value';
}

// Check if string in numaric
if [is_numeric[$stringf]]{
	// Convert string to float using float type cast
 	echo '
Float Value: '.[float]$stringf; }else{ echo 'Not a numaric value'; } // Check if string in numaric if [is_numeric[$stringf]]{ // Convert string to float using float type cast echo '
Double Value: '.[double]$stringd; }else{ echo 'Not a numaric value'; }

đầu ra

Integer Value: 25
Float Value: 25.99
Double Value: 25.99

Giải thích.
Trong đoạn mã này, bạn có thể quan sát thấy rằng kiểu chữ được sử dụng để chuyển đổi chuỗi thành số nguyên. Sau khi đánh giá xem biến đã cho có giá trị chuỗi hay không bằng cách sử dụng phương thức is_numeric, dòng echo 'Integer Value. '. [int]$string; . Tương tự, sau này trong chương trình, các biến được chuyển đổi thành double và float, bằng cách đề cập đến kiểu dữ liệu cùng với tên biến.

Sử dụng hàm intval[] và floatval[]

Hàm intval[] được sử dụng để trả về giá trị nguyên của một biến

int intval [ $var, $base ]

Phải mất hai tham số

  • $var – Đây là biến mà bạn muốn chuyển thành số nguyên
  • $base – Tham số tùy chọn này chỉ định cơ sở cho chuyển đổi. Nếu $var có 0x làm tiền tố, thì 16 được lấy làm gốc. Nếu $var bắt đầu bằng 0, thì 8 được lấy làm gốc

Phương thức floatval[] được sử dụng để lấy giá trị float của một biến. Chỉ nhận một tham số $var, đó là giá trị mà giá trị float cần được xác định

cú pháp

intval[$string]; // Convert string to integer
floatval[$string]; // Convert string to float

Mã ví dụ

// Declare string value
$string = '25.99';

// Check if string in numaric
if [is_numeric[$string]]{
	
	// Convert string to integer using intval function
    echo 'Integer Value: '.intval[$string];
	
	// Convert string to float using floatval function
    echo '
Integer Value: '.floatval[$string]; }else{ echo 'Not a numaric value'; }

đầu ra

________số 8

Giải thích.
Bạn có thể thấy rằng trong ví dụ này, intval[] chuyển đổi giá trị được lưu trữ trong biến $string thành một số nguyên. Sau đó, cùng một giá trị được chuyển thành float bằng phương thức floatval[].

Thực hiện các phép toán trên giá trị chuỗi

Ở đây, không có hàm dựng sẵn nào được sử dụng để chuyển đổi chuỗi thành số nguyên

Bằng cách thêm số "0" vào chuỗi

cú pháp

[$string + 0];

Mã ví dụ

Float Value: '.number_format[$string,2];
}else{
	echo 'Not a numaric value';
}
?>
0

đầu ra

Float Value: '.number_format[$string,2];
}else{
	echo 'Not a numaric value';
}
?>
1

Giải thích.
Đây là một trong những cách dễ nhất để chuyển đổi một chuỗi thành một số nguyên. Trong chương trình này, 0 được thêm vào chuỗi, chuyển đổi nó thành một số. Bằng cách thêm chuỗi bằng 0. 00 giá trị được chuyển thành float. Việc chuyển đổi này được thực hiện bởi PHP một cách tự động.

Bằng cách nhân số "1" thành chuỗi

cú pháp

Float Value: '.number_format[$string,2];
}else{
	echo 'Not a numaric value';
}
?>
2

Mã ví dụ

Float Value: '.number_format[$string,2];
}else{
	echo 'Not a numaric value';
}
?>
3

đầu ra

Float Value: '.number_format[$string,2];
}else{
	echo 'Not a numaric value';
}
?>
1

Giải thích.
Một phương pháp đơn giản khác để chuyển đổi chuỗi thành số nguyên là nhân nó với 1. Vì vậy, chuỗi 25. 23 được nhân với 1 để nhận giá trị nguyên.

Phần kết luận

Tất cả các phương pháp này được áp dụng khi bạn nhận được một số dưới dạng một chuỗi nhưng muốn thực hiện một số phép toán trên đó. Mặc dù các phương thức ép kiểu intval[], float[], number_format[] và kiểu rất hiệu quả, nhưng việc thêm 0 và nhân 1 vào một chuỗi là một cách rất nhanh để chuyển đổi nó thành một số

Làm cách nào để chuyển đổi chuỗi thành số thập phân trong PHP?

PHP. Chuyển chuỗi thành số .
Sử dụng number_format[]
Sử dụng kiểu truyền kiểu settype[]
Sử dụng intval[] và floatval[]
Bằng cách thực hiện các phép toán. Thêm số "1" vào chuỗi. Nhân chuỗi với số "0"

Làm cách nào để chuyển đổi số thập phân thành số float trong PHP?

Hàm floatval[] được sử dụng để chuyển đổi một giá trị thành float.

Chúng ta có thể chuyển đổi chuỗi thành float không?

Chúng ta có thể chuyển String thành float trong java bằng Float. phương thức parseFloat[] .

Làm cách nào để chuyển đổi chuỗi thành int hoặc float trong PHP?

Các hàm intval[] và floatval[] cũng có thể được sử dụng để chuyển đổi chuỗi thành giá trị số nguyên và giá trị float tương ứng. echo floatval [ $num ];

Chủ Đề