<i18n dev> java.util.Fomatter precision and surrogate pairs
Jason Mehrens
jason_mehrens at hotmail.com
Sun Feb 14 00:09:26 UTC 2021
Hi Naoto,
Sorry for the off thread reply. I didn't have the mail replies setup on the list and I seem to be unable to add a in-reply-to header via web email.
> Although the error message may be confusing, 'c' conversion cannot be
> used for a String argument (like in your example). It simply converts
> numeric value into a single character, thus no need for output
> "precision." I am not the designer of the class, so might be wrong.
Yes I totally missed that. I dug up the relevant source:
https://github.com/openjdk/jdk/blob/350303d4f0c71f77fa784a92d13522a380e3b2fe/src/java.base/share/classes/java/util/Formatter.java#L3006
https://github.com/openjdk/jdk/blob/c709e1cbf030e7129fa34815b150097ba6f6840c/test/jdk/java/util/Formatter/Basic-X.java.template#L432
So this code doesn't deal with CharSequence and therefore the precision is implicitly one. With the exception if null getting converted to 4 chars.
Is it worth me filing an RFE to allow 'c' to accept a CharSequence and allow precision to be set?
Thanks,
Jason
More information about the i18n-dev
mailing list