# Formatter formatter contains some functions for data formatting.
## Source: - [https://github.com/duke-git/lancet/blob/main/formatter/formatter.go](https://github.com/duke-git/lancet/blob/main/formatter/formatter.go)
## Usage: ```go import ( "github.com/duke-git/lancet/v2/formatter" ) ```
## Index - [Comma](#Comma) - [Pretty](#Pretty) - [PrettyToWriter](#PrettyToWriter)
## Documentation ### Comma

Add comma to a number value by every 3 numbers from right to left. ahead by symbol char. if value is a invalid number string like "aa", return empty string.

Signature: ```go func Comma[T constraints.Float | constraints.Integer | string](value T, symbol string) string ``` Example: ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/formatter" ) func main() { result1 := formatter.Comma("123", "") result2 := formatter.Comma("12345", "$") result3 := formatter.Comma(1234567, "¥") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) // Output: // 123 // $12,345 // ¥1,234,567 } ``` ### Pretty

Pretty data to JSON string.

Signature: ```go func Pretty(v any) (string, error) ``` Example: ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/formatter" ) func main() { result1, _ := formatter.Pretty([]string{"a", "b", "c"}) result2, _ := formatter.Pretty(map[string]int{"a": 1}) fmt.Println(result1) fmt.Println(result2) // Output: // [ // "a", // "b", // "c" // ] // { // "a": 1 // } } ``` ### PrettyToWriter

Pretty encode data to writer.

Signature: ```go func PrettyToWriter(v any, out io.Writer) error ``` Example: ```go package main import ( "fmt" "github.com/duke-git/lancet/v2/formatter" ) func main() { type User struct { Name string `json:"name"` Aage uint `json:"age"` } user := User{Name: "King", Aage: 10000} buf := &bytes.Buffer{} err := formatter.PrettyToWriter(user, buf) fmt.Println(buf) fmt.Println(err) // Output: // { // "name": "King", // "age": 10000 // } // // } ```