# Is there a direct way in Julia to format a number e.g. 9999999999 as a String object "9,999,999,999" for making it convenient to read?

**URL:** <https://discourse.julialang.org/t/is-there-a-direct-way-in-julia-to-format-a-number-e-g-9999999999-as-a-string-object-9-999-999-999-for-making-it-convenient-to-read/68861>\
**Category:** General Usage\
**Tags:** strings, numbers, formatting\
**Created:** [September 28, 2021, 9:44am UTC](https://discourse.julialang.org/t/is-there-a-direct-way-in-julia-to-format-a-number-e-g-9999999999-as-a-string-object-9-999-999-999-for-making-it-convenient-to-read/68861 "2021-09-28T09:44:34Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![shubh\_b](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/shubh_b/32/20697_2.png) [@shubh\_b](https://discourse.julialang.org/u/shubh_b)\
**Post date:** [September 28, 2021, 9:44am UTC](https://discourse.julialang.org/t/is-there-a-direct-way-in-julia-to-format-a-number-e-g-9999999999-as-a-string-object-9-999-999-999-for-making-it-convenient-to-read/68861/1 "2021-09-28T09:44:34Z")

</div>

Is there any Julia function or a straightforward way that can format a large integer number as a String object in which every 3 digits can become delimited by comma (,) from the end?

This thing we can do in Python using f-String. E.g.

```julia
>>> num = 9999999999

>>> num
9999999999

>>> f'{num:,}'
'9,999,999,999'

```

Can we do anything similar in Julia?

---

<div class="post-metadata">

**Author:** ![mike\_k](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mike_k/32/211864_2.png) [@mike\_k](https://discourse.julialang.org/u/mike_k)\
**Post date:** [September 28, 2021, 10:03am UTC](https://discourse.julialang.org/t/is-there-a-direct-way-in-julia-to-format-a-number-e-g-9999999999-as-a-string-object-9-999-999-999-for-making-it-convenient-to-read/68861/2 "2021-09-28T10:03:12Z")

</div>

I do not know a direct method, but a solution approach is given [here](https://stackoverflow.com/questions/52213829/in-julia-insert-commas-into-integers-for-printing-like-python-3-6/52216395#52216395). It uses a function

```julia
function commas(num::Integer)
    str = string(num)
    return replace(str, r"(?<=[0-9])(?=(?:[0-9]{3})+(?![0-9]))" => ",")
end

```

which yields

```julia
julia> commas(123456789)
"123,456,789"

```

---

<div class="post-metadata">

**Author:** ![mike](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mike/32/39_2.png) [@mike](https://discourse.julialang.org/u/mike)\
**Post date:** [September 28, 2021, 10:16am UTC](https://discourse.julialang.org/t/is-there-a-direct-way-in-julia-to-format-a-number-e-g-9999999999-as-a-string-object-9-999-999-999-for-making-it-convenient-to-read/68861/3 "2021-09-28T10:16:38Z")

</div>

[`Humanize.jl`](https://github.com/IainNZ/Humanize.jl) has a `Humanize.digitsep(num)` function for that.

---

<div class="post-metadata">

**Author:** ![t-bltg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/t-bltg/32/25526_2.png) [@t-bltg](https://discourse.julialang.org/u/t-bltg)\
**Post date:** [September 28, 2021, 10:16am UTC](https://discourse.julialang.org/t/is-there-a-direct-way-in-julia-to-format-a-number-e-g-9999999999-as-a-string-object-9-999-999-999-for-making-it-convenient-to-read/68861/4 "2021-09-28T10:16:45Z")

</div>

There is [Formatting.jl](https://github.com/JuliaIO/Formatting.jl):

```julia
julia> using Formatting
julia> format(1_000_000, commas=true)
"1,000,000"

```

Or [StringLiterals.jl](https://github.com/JuliaString/StringLiterals.jl) through [Strs.jl](https://github.com/JuliaString/Strs.jl):

```julia
julia> using Strs
julia> f"\%'d(1_000_000)"
"1,000,000"

```

Or [Format.jl](https://github.com/JuliaString/Format.jl):

```julia
julia> using Format
julia> cfmt("%\'d", 1_000_000)
"1,000,000"

```
