Значение, возвращаемое NumberFormatter (PERCENT), выглядит равным проверочному значению, но это не так.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Значение, возвращаемое NumberFormatter (PERCENT), выглядит равным проверочному значению, но это не так.

Сообщение Anonymous »

Сегодняшний запуск теста PHPUnit дал мне такой странный результат:

Код: Выделить всё

There was 1 failure:

1) App\StudioIntern\FormatServiceTest::testNumberToPercent
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'50 %'
+'50 %'
Проверяется эта функция:

Код: Выделить всё

public static function numberToPercent(float $value): string
{
$percent_formatter = \NumberFormatter::create('de_DE', \NumberFormatter::PERCENT);
return $percent_formatter->format($value);
}
..и работает следующим образом:

Код: Выделить всё

$this->assertEquals('50 %', FormatService::numberToPercent(0.5));
Тот же результат при использовании CLI:

Код: Выделить всё

php > $percent_formatter = \NumberFormatter::create('de_DE', \NumberFormatter::PERCENT);
php > $value1 = $percent_formatter->format('0.5');
php > $value2 = '50 %';
php > echo $value1;
50 %
php > echo $value2;
50 %
php > echo ($value1 === $value2) ? 'equal' : 'not equal';
not equal
Это странно... Спасибо за подсказку!

Подробнее здесь: https://stackoverflow.com/questions/792 ... e-but-isnt
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»