Печать двух цифр после запятой в
Я хочу напечатать две цифры после десятичного после округления на языке GO.. e.g 1.2222225 следует печатать как 1.22 1.356 должно быть напечатано как 1.36
Как я могу это сделать?
3 ответов
если вы используете fmt.Printf
функция в строке форматирования есть синтаксис,который позволяет печатать поплавки с заданным уровнем точности. Общий синтаксис:%.[numberofdigits]f
.
примеры:
fmt.Printf("%.2f" 1.2222225) // output: 1.22
fmt.Printf("%.2f", 1.356) // output: 1.36
одна вещь, чтобы отметить, что раунд не "нести"
fmt.Printf("%.1f", 1.346)
выведет 1.3, а не 1.4. Кроме того, отрицательные числа будут вести себя так, как ожидалось:
fmt.Printf("%.2f", -1.356) // output: -1.36
Вы можете использовать Decimal64p2
тип decimal с фиксированным .00 точность -https://github.com/strongo/decimal
по сравнению с fmt.Printf("%.1f", 1.346)
он будет округляться правильно.
он эффективен для хранения точных сумм денег.