Date: 2023/08/14 15:04:32 UTC-07:00
Type: Denizen Script
int_display:
type: procedure
debug: false
definitions: int
script:
- determine <[int].format_number> if:<[int].length.is_less_than_or_equal_to[4]>
- choose <[int].length>:
- case 4 5 6:
- determine <[int].format_number> if:<[int].length.equals[4]>
- define prefix K
- define d_int <[int].substring[1,2]> if:<[int].length.equals[5]>
- define d_int <[int].substring[1,3]> if:<[int].length.equals[6]>
- case 7 8 9:
- define prefix M
- define d_int <[int].char_at[1]>
- define d_int <[int].substring[1,2]> if:<[int].length.equals[8]>
- define d_int <[int].substring[1,3]> if:<[int].length.equals[9]>
- if <[int]> < 10000000:
- define d_int <[d_int]>.<[int].substring[2,3]>
- else if <[int]> > 1000000 && <[int]> < 100000000:
- define d_int <[d_int]>.<[int].char_at[3]> if:<[int].char_at[3].equals[0].not>
- case 10 11 12:
- define prefix B
- define d_int <[int].char_at[1]>
- define d_int <[int].substring[1,2]> if:<[int].length.equals[11]>
- define d_int <[int].substring[1,3]> if:<[int].length.equals[12]>
- if <[int]> < 1000000000:
- define d_int <[d_int]>.<[int].substring[2,3]>
- else if <[int]> > 1000000000 && <[int]> < 100000000000:
- define d_int <[d_int]>.<[int].char_at[3]> if:<[int].char_at[3].equals[0].not>
- default:
- determine 999B+
- determine <[d_int]><[prefix]>