uprules_select should respect fractional trailing zeros

Description

Currently, it seems that the C++ API is stripping trailing zeros from fraction digits, which results in:

But for many locales (say, 'pl' and 'cs') it should be 'other':

The exact rule for polish 'one' is:

which means that "1.0" should lead to 'other'.

Activity

Show:
Frank Yung-Fong Tang
February 20, 2019, 10:37 PM

littledan's comment 19 is incorrect. What C++ has is not for public usage.

TracBot
June 30, 2018, 11:55 PM
Trac Comment 19 by littledan@c2cd90610ba0d953—2018-04-18T09:47:33.224Z

My mistake, the C++ API seems to be in place already since 59 http://www.icu-project.org/apiref/icu4c/classicu_1_1PluralRules.html#a254eb655bb18ef1b4fdeb6186323a33c

TracBot
June 30, 2018, 11:55 PM
Trac Comment 18 by littledan@c2cd90610ba0d953—2017-07-13T17:09:48.272Z

Is there any chance we could get an analogous API for C+? This would help V8 with its ECMA 402 PluralRules implementation, where V8 uses the C+ API for ICU objects currently.

TracBot
June 30, 2018, 11:55 PM
Trac Comment 15 by —2017-02-15T21:13:52.309Z

Re-opened just to change the headerdoc in the C++ API concerning the return value. Currently it says that it returns "...an empty string in the case of an error." Change this per TC discussion today to just say the return is "Undefined in the case of an error".

TracBot
June 30, 2018, 11:55 PM
Trac Comment 12 by —2017-02-09T23:42:51.582Z

Thanks, I agree the new C++ select should take a UErrorCode param. I have changed it to do that, and to return an empty string if there is any error (instead of calling back to keyboard other). I will update the API proposal doc with this change and add to the agenda for the next ICU meeting.

Fixed

Assignee

Peter Edberg

Reporter

TracBot

Components

Priority

major

Time Needed

Hours

Fix versions