Hướng dẫn how can i convert string to float in php? - làm cách nào tôi có thể chuyển đổi chuỗi thành float trong php?

Để hoàn thiện, mặc dù câu hỏi này là cổ xưa, nhưng điều đáng nói là tập hợp các chức năng filter_var(), không chỉ tự xử lý các bit định dạng mà còn xác nhận hoặc vệ sinh đầu ra, do đó an toàn hơn khi sử dụng trong bối cảnh của một hình thức được điền bởi người dùng (hoặc, cuối cùng, một cơ sở dữ liệu có thể có một số trường bị hỏng/không nhất quán):

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

printf("The total is: %.2f\n", $InvoicedUnits * $pricePerUnit); // both are now floats and the result is a float, formatted to two digits after the decimal sign.

Điều này làm sạch đầu ra (vẫn sẽ vẫn là một chuỗi) và sẽ chấp nhận cài đặt địa phương hiện tại của bộ phân cách thập phân (ví dụ: DOT so với dấu phẩy); Ngoài ra, có nhiều tùy chọn hơn trên hướng dẫn sử dụng PHP để xác thực (sẽ tự động chuyển đổi kết quả thành float nếu hợp lệ). Kết quả sẽ hơi khác nhau cho các kịch bản khác nhau - ví dụ: Nếu bạn biết trước rằng $InvoiceLineItem sẽ chỉ có các chữ số và ký hiệu hợp lệ cho các số điểm nổi hoặc nếu bạn cần 'làm sạch' trường trước, hãy loại bỏ khoảng trắng, các ký tự đi lạc (như ký hiệu tiền tệ!) Và Vì vậy, Forth.

Cuối cùng, nếu bạn muốn có đầu ra được định dạng độc đáo-vì tổng số được thể hiện bằng một loại tiền tệ-bạn cũng nên xem xét lớp NumberFormatter tích hợp và làm một cái gì đó như:

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;

Điều này cũng sẽ xử lý hàng ngàn máy phân cách (không gian, dấu chấm, dấu phẩy ...) theo ngôn ngữ được cấu hình và những thứ lạ mắt tương tự khác.

Ngoài ra, nếu bạn muốn, bạn có thể sử dụng '' (chuỗi trống) cho chuỗi locale mặc định (được đặt bởi máy chủ hoặc tùy chọn bởi trình duyệt) và $fmt->getSymbol(NumberFormatter::INTL_CURRENCY_SYMBOL) để lấy mã số 3 chữ cái mặc định (có thể không phải là những gì bạn Muốn, vì giá thường được đưa ra bằng một loại tiền tệ cụ thể - các chức năng này không tính đến tỷ giá tiền tệ!).

Pillepop2003 tại Yahoo Dot de ¶

aa tại geb-team dot de ¶Get float value of a variable

16 năm trước

iliyazelenkog tại gmail dot com ¶(mixed $value): float

T-Soloveychik tại ya.ru ¶

5 năm trước

Pierpaocira ¶floatval() should not be used on objects, as doing so will emit an

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
0 level error and return 1.

Movila Dot e Dot V tại Gmail Dot Com ¶

ZFCB13 tại gmail dot com

Các chuỗi rất có thể sẽ trả về 0 mặc dù điều này phụ thuộc vào các ký tự ngoài cùng bên trái của chuỗi. Các quy tắc phổ biến của việc đúc phao áp dụng.

Ví dụ

Ví dụ #1 floatVal () ví dụfloatval() Example

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
1

Ví dụ #2 FloatVal () Ví dụ: Không phải số bên trái không phải là sốfloatval() non-numeric leftmost characters Example

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
2

Xem thêm

  • boolval () - Nhận giá trị boolean của một biến
  • intval () - Nhận giá trị số nguyên của một biến
  • strval () - Nhận giá trị chuỗi của một biến
  • setType () - Đặt loại biến
  • Loại tung hứng

Brewal Dot Renault tại Gmail Dot Com ¶

8 năm trước

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
3

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
4

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
5

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
6

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
7

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
8

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
9

Ẩn danh ¶

17 năm trước

filter_var()0

filter_var()1

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
9

Alexey M ¶

6 năm trước

filter_var()3

filter_var()4

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
9

Papapinguoin ¶

11 năm trước

filter_var()6

filter_var()7

filter_var()8

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
9

Ẩn danh khi bắt đầu chấm là ¶

18 năm trước

float0

float1

float2

float3

radler63 tại hotmail dot com

4 năm trước

float4

float5

float6

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
9

Chris tại Georgakopoulos Dot Com ¶

13 năm trước

float8

float9

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
9

Steve tại Opilo Dot Net

14 năm trước

$InvoiceLineItem1

$InvoiceLineItem2

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
9

Secretr tại Nospam Dot E107 Dot org ¶

11 năm trước

$InvoiceLineItem4

$InvoiceLineItem5

$InvoiceLineItem6

$InvoiceLineItem7

$InvoiceLineItem8

Michiel ¶

14 năm trước

$InvoiceLineItem9

NumberFormatter0

NumberFormatter1

NumberFormatter2

NumberFormatter3

Secretr tại Nospam Dot E107 Dot org ¶

11 năm trước

NumberFormatter4

NumberFormatter5

NumberFormatter6

NumberFormatter7

Michiel ¶

Pillepop2003 tại Yahoo Dot de ¶

NumberFormatter8

NumberFormatter9

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
9

17 năm trước

aa tại geb-team dot de ¶

''1

''2

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
9

16 năm trước

iliyazelenkog tại gmail dot com ¶

''4

''5

''6

4 năm trước

T-Soloveychik tại ya.ru ¶

''7

''8

''9

$fmt->getSymbol(NumberFormatter::INTL_CURRENCY_SYMBOL)0

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
9

5 năm trước

T-Soloveychik tại ya.ru ¶

$fmt->getSymbol(NumberFormatter::INTL_CURRENCY_SYMBOL)2

$fmt->getSymbol(NumberFormatter::INTL_CURRENCY_SYMBOL)3

$fmt->getSymbol(NumberFormatter::INTL_CURRENCY_SYMBOL)4

5 năm trước

Pierpaocira ¶

$fmt->getSymbol(NumberFormatter::INTL_CURRENCY_SYMBOL)5

6 năm trước

Movila Dot e Dot V tại Gmail Dot Com ¶

$fmt->getSymbol(NumberFormatter::INTL_CURRENCY_SYMBOL)6

$fmt->getSymbol(NumberFormatter::INTL_CURRENCY_SYMBOL)7

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
9

ZFCB13 tại gmail dot com

Movila Dot e Dot V tại Gmail Dot Com ¶

$fmt->getSymbol(NumberFormatter::INTL_CURRENCY_SYMBOL)9

$value0

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
9

ZFCB13 tại gmail dot com

7 năm trước

$value2

$value3

$value4

$value5

$value6

$value7

$value8

$value9

Jason tại Shadonet Dot Com ¶

13 năm trước

value0

value1

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
9

19 năm trước

14 năm trước

value3

value4

$InvoicedUnits = (float) filter_var($InvoiceLineItem->InvoicedUnits,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$pricePerUnit  = (float) filter_var($InvoiceLineItem->PricePerUnit,
  FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
echo 'Total is: ' . $fmt->formatCurrency($InvoicedUnits * $pricePerUnit, 'EUR') . PHP_EOL;
9

Secretr tại Nospam Dot E107 Dot org ¶

11 năm trước

value6

value7

value8

value9

Bạn có thể chuyển đổi chuỗi thành float không?

Chúng ta có thể chuyển đổi một chuỗi thành float trong python bằng hàm float (). Đây là một chức năng tích hợp được sử dụng để chuyển đổi một đối tượng thành số điểm nổi. Trong nội bộ, hàm float () gọi đối tượng được chỉ định __float __ () hàm.. This is a built-in function used to convert an object to a floating point number. Internally, the float() function calls specified object __float__() function.

Bạn có thể thay đổi loại biến trong PHP không?

PHP |hàm setType ().Hàm setType () là một hàm tích hợp trong PHP.Hàm setType () được sử dụng để đặt loại biến.Nó được sử dụng để đặt loại hoặc sửa đổi loại của một biến hiện có.The settype() function is used to the set the type of a variable. It is used to set type or modify type of an existing variable.

PHP có nổi không?

Trong PHP, kiểu dữ liệu float được sử dụng để đặt các giá trị phân số.Một chiếc phao là một số có một điểm thập phân và có thể được mở rộng đến dạng hàm mũ.Phao cũng được gọi là số điểm nổi.Các cách khác nhau để biểu diễn các giá trị nổi là 3,14, 4,75, 5,88e+20, v.v.. A float is a number with a decimal point and can be extended to exponential form. Float is also called a floating-point number. Various ways to represent float values are 3.14, 4.75, 5.88E+20, etc.

Phao có nghĩa là gì trong PHP?

Php nổi một chiếc phao là một số có điểm thập phân hoặc một số ở dạng theo cấp số nhân.2.0, 256.4, 10.358, 7.64e+5, 5.56e-5 đều là những chiếc phao.Kiểu dữ liệu float thường có thể lưu trữ giá trị lên tới 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ố.a number with a decimal point or a number in exponential form. 2.0, 256.4, 10.358, 7.64E+5, 5.56E-5 are all floats. The float data type can commonly store a value up to 1.7976931348623E+308 (platform dependent), and have a maximum precision of 14 digits.