Open stefanschramm opened 3 years ago
Hi
I reproduce. The problem is caused by the use of the function floatval() which outputs a float in a format dependent on your locale.
Please test the patch above, and feedback.
The patch adds the dependency to install the php-intl-Extension.
Using bigger numbers like 1234.5
will add thousands-separators: 1,234.5
. Adding $formatter->setAttribute(\NumberFormatter::GROUPING_USED, false);
solves this for me.
Hi
Yes, you're right. I add this extra attribute to the PR.
However I cannot merge the fix right now : I need to add an unit test for your issue, and migrate test environment to github actions. I need some time to do this, merge and build a new release.
EDIT : I added the dependency to php-intl. I think it is better to rely on NumberFormatter instead of a filthy string manipulation, which may break for some foreign language.
Describe the bug When using a locale that uses commas (,) instead of points (.) as decimal delimiter, the output of CFPropertyList::toXML() uses this charater for
<real>
s which is invalid PList-Data. The cause is probably some implicit toString conversion that will use the current locale.To Reproduce Execute this script:
It's output will be:
Expected behavior This output:
(
1.5
instead of1,5
)Desktop