Új hozzászólás Aktív témák
-
urandom0
senior tag
válasz
Drótszamár #21785 üzenetére
Szerintem ezt nem fogod tudni egyetlen beállítással megoldani.
Tippre azt mondanám, hogy azért van most így, mert 8.0 óta az lebegő pontos számok kiíratása nem "locale aware".
Ez a kód:setlocale(LC_NUMERIC, "en_US");
$i = 1.01;
echo $i;
echo PHP_EOL;
setlocale(LC_NUMERIC, "de_DE");
$j = 1.01;
echo $j;
PHP 8 előtt ezt írta ki:
1.01
1,01PHP 8 óta ezt:
1.01
1.01Bár a nullára végződő számoknál szerintem régen is levágta a nullákat, legalább is én nem tudtam az általad mutatott eredményt produkálni régi compilerrel sem. Elképzelhető, hogy a kódodban valahol korábban van valami trimmelés, ami úgy lett megírva, hogy a ponttól jobbra végződő nullákat levágja? És mivel régen locale aware volt az floating -> string átalakítás, ezért ott vessző volt, míg újabban pont, és ezért vágja le...? Nem tudom, csak tippelek.
Szóval azon kívül, hogy átírod a kódot, szerintem mást nem tudsz tenni. Van erre többféle megoldás is, number_format, sprintf, NumberFormatter, paddolás...
Új hozzászólás Aktív témák
- Apple iPhone 13 Mini 128GB, Kártyafüggetlen, 1 Év Garanciával
- Lenovo ThinkPad T480, T580, P51s, P52s, T480s belső akkumulátor eladó
- Keychrone Q1 V2 billentyűzet / Számla / Garancia /
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Huawei P20 64GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: FOTC
Város: Budapest