https://manual.calibre-ebook.com/gen...human-readable
Maybe something like:
program: re_group(human_readable(field('#wordcount')), '([0-9.]+)([KMGTPEZY]?)', '\1\2')
or using the switch_if():
program:
switch_if(
field('#wordcount') >= 1000000, format_number(divide(field('#wordcount'),1000000), '{:.1f}M'),
field('#wordcount') >= 1000, format_number(divide(field('#wordcount'),1000), '{:.1f}K'),
field('#wordcount')
)