Я хочу напечатать две цифры после десятичной после округления в GO языке .. 1,222225 например, должны быть напечатаны в виде 1,22 1.356 должны быть напечатаны в виде 1,36печати две цифры после десятичной в ходу
Как я могу это сделать?
Я хочу напечатать две цифры после десятичной после округления в GO языке .. 1,222225 например, должны быть напечатаны в виде 1,22 1.356 должны быть напечатаны в виде 1,36печати две цифры после десятичной в ходу
Как я могу это сделать?
Если вы используете функцию 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
спасибо..извините, у меня нет 15 репутации..так я не могу упрекнуть ур ответ .. в любом случае, спасибо –
Вы можете использовать Decimal64p2
тип десятичного с фиксированной точностью .00 - https://github.com/strongo/decimal
по сравнению с fmt.Printf("%.1f", 1.346)
будет округлить правильно.
Он эффективен для хранения точных сумм денег.
спасибо..и работал.i использовал fmt.Println() .. так что я не получал правильного ответа –