PHP 8.4.1 Released!

NumberFormatter::parse

numfmt_parse

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::parse -- numfmt_parseBir sayı dizgesini sayıya dönüştürür

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::parse(string $dizge, int $tür = NumberFormatter::TYPE_DOUBLE, int &$konum = null): int|float|false

Yordamsal kullanım

numfmt_parse(
    NumberFormatter $biçemleyici,
    string $dizge,
    int $tür = NumberFormatter::TYPE_DOUBLE,
    int &$konum = null
): int|float|false

Geçerli biçemleyici kurallarına uygun olarak bir dizgeyi bir sayıya çevirir.

Bağımsız Değişkenler

biçemleyici

NumberFormatter nesnesi.

dizge

Sayıya dönüştürülecek dizge.

tür

Kullanılacak biçemleme türü. Öntanımlı olarak, NumberFormatter::TYPE_DOUBLE kullanılır. NumberFormatter::TYPE_CURRENCY sabitinin desteklenmediği unutulmamalı, yerine NumberFormatter::parseCurrency() kullanılmalıdır.

konum

Çözümlemenin başlatılacağı dizge konumu. İşlev döndüğünde bu bağımsız değişken çözümlemenin bittiği konumu gösterir.

Dönen Değerler

Bir hata oluşursa false, aksi takdirde dönüştürülen sayı değeri döner.

Örnekler

Örnek 1 - numfmt_parse() örneği

<?php
$fmt
= numfmt_create( 'tr_TR', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo
numfmt_parse($fmt, $num)."\n";
echo
numfmt_parse($fmt, $num, NumberFormatter::TYPE_INT32)."\n";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt
= new NumberFormatter( 'tr_TR', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo
$fmt->parse($num)."\n";
echo
$fmt->parse($num, NumberFormatter::TYPE_INT32)."\n";
?>

Yukarıdaki örneğin çıktısı:

1234567.891
1234567

Ayrıca Bakınız

add a note

User Contributed Notes 2 notes

up
5
rdohms at php dot net
12 years ago
It interesting to note that the expected behavior for this function may change according to your ICU version.

In ICU 4.4.2 (standard for Ubuntu 10.* with PHP 5.3.5)

With locale 'en', input of 100,1 returns 1001

In ICU 4.8.1 (standard for Ubuntu 12.* with PHP 5.3.10)

With locale 'en', input of 100,1 returns "false"

Be sure to note your ICU version in phpinfo() to be sure you will get the expected output.
up
4
Rakasch
5 years ago
'en_EN':

basically the first part is the language and the second part the region:
'en_EN' - english, England
'en_US' - english, United States

You can lookup the language tags like 'en_EN' here:
https://datahub.io/core/language-codes
see "ietf-language-tags"
To Top