Compact Number Formatting and Fraction Digits

Scott Palmer swpalmer at gmail.com
Thu Jan 17 23:35:42 UTC 2019


On Jan 17, 2019, at 2:22 PM, Gunnar Morling <gunnar at hibernate.org> wrote:

>> since you don’t actually want a minimum.
> 
> I'd like to have 1 fractional digit unless it's 0:
> 
> 1,000 -> 1K (*not* 1.0K)
> 1,500 -> 1.5K
> 
> --Gunnar

That’s exactly what setting the maximum fraction digits to 1 does. 

Scott


> 
>> Am Do., 17. Jan. 2019 um 19:15 Uhr schrieb Scott Palmer <swpalmer at gmail.com>:
>> 
>> 
>> On Jan 17, 2019, at 12:42 PM, Gunnar Morling <gunnar at hibernate.org> wrote:
>> 
>>>> this could be a good value add to introduce an API [...]
>>> 
>>> Should I file a JDK issue then (not sure I can even)?
>>> 
>>>> Wouldn’t this be accomplished with setMaximumFractionDigits(1) ?
>>> 
>>> That wouldn't achieve that there's no fraction digit(s) in case of
>>> trailing 0s.
>> 
>> Yes it does. I just tried. Don’t set a minimum fraction digits, since you don’t actually want a minimum.
>> 
>> Scott
>> 
>>> 
>>>> Am Do., 17. Jan. 2019 um 15:50 Uhr schrieb Scott Palmer <swpalmer at gmail.com>:
>>>> 
>>>> Wouldn’t this be accomplished with setMaximumFractionDigits(1) ?
>>>> 
>>>>> On Jan 17, 2019, at 5:13 AM, Nishit Jain <nishit.jain at oracle.com> wrote:
>>>>> 
>>>>> Hi Gunnar,
>>>>> 
>>>>> Currently there is no way to obtain the below expected behavior (to get 1K) when min fraction digit is set to non-zero value. I think that is not even expected when min fraction digits is set, but considering the objective of compact number formatting this could be a good value add to introduce an API which if set, truncates trailing fractional zeros while formatting output. This may need some thought process on its feasibility.
>>>>> 
>>>>> Regards,
>>>>> Nishit Jain
>>>>>> On 17-01-2019 14:37, Gunnar Morling wrote:
>>>>>> Hi,
>>>>>> 
>>>>>> I took a look at the compact number formatting recently added in JDK 12.
>>>>>> 
>>>>>> There's setMinimumFractionDigits() to control the number of fractional
>>>>>> digits, so that e.g. 1,500 can be formatted as 1.5K. That's great, but
>>>>>> it also will format 1,000 as 1.0K. Is there a way to have fractional
>>>>>> digits but remove trailing zeros, so that 1,500 and 1,000 would be
>>>>>> formatted as 1.5K and 1K, respectively?


More information about the core-libs-dev mailing list