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