To format and print data with currency symbols and precision in Go, you can use the sprintf
function from the fmt
package along with the golang.org/x/text/currency
package. Here's an example code:
package main
import (
"fmt"
"golang.org/x/text/currency"
)
func main() {
amount := 1234.5678
// Get currency formatter for a specific currency
formatter := currency.Symbol(currency.USD).Narrow()
// Format the amount with currency symbol and precision
formattedAmount := fmt.Sprintf("%s%.2f", formatter, amount)
// Print the formatted amount
fmt.Println(formattedAmount)
}
In this code, we first import the required packages: fmt
for sprintf
function and golang.org/x/text/currency
for currency symbol formatting.
Next, we define the amount
that needs to be formatted.
To get the currency formatter, we specify the currency symbol using currency.Symbol
and call the Narrow
method to get the format with currency symbol and precision.
Then, we use fmt.Sprintf
to format the amount
with the currency symbol and precision. The %s
is used for the currency symbol placeholder and %.2f
specifies that we want the amount to be formatted with 2 decimal places.
Finally, we print the formattedAmount
to see the result.
Output:
$1234.57
Note: Make sure to add the golang.org/x/text
package to your go.mod
file or use go get golang.org/x/text
to install it before running the code.