Документация для полей форматирования fmt.Printf для значений с плавающей запятой указано, что:
"Для значений с плавающей запятой ширина устанавливает минимальную ширину поля
, а точность устанавливает количество знаков после десятичной запятой, если
уместно, за исключением что для %g/%G он устанавливает общее количество цифр.»
Смущающая часть заключается в использовании слова «it» в последнем предложении. На самом деле это относится к «точности», а не к «ширине».
Вопреки интуитивному мнению, что %.9g должен давать в общей сложности 9 значащих цифр, это на самом деле учитываются только цифры после десятичной точки.
Например, 123456,789 будет отформатировано как 123.4e 03, поскольку %.9g эффективно усекает любые ведущие нули.
И наоборот, 0,0000012345 будет отформатировано как 1,2345 e-06, потому что %.9g учитывает все значащие цифры после десятичной точки.
Поле ширины определяет минимальную ширину всей форматированной строки, включая десятичную дробь. точка и показатель степени (если есть).
Поле точности, как описано выше, задает количество значащих цифр после десятичной точки.
Для %g поле точности переопределяет поле ширины. . Однако, если отформатированная строка превышает указанную ширину, она выйдет за пределы указанной ширины.
Напомним, что пример включает в себя форматирование следующих значений с плавающей запятой с использованием .9g:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3