尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

%g格式化揭秘:自动选择最佳显示方式

%g格式化揭秘:自动选择最佳显示方式 字符串格式化符号:%g这个符号是%f和%e的简写, 这句话的意思到底是什么, 用户所感到困惑的到底是最终的显示形式应该选择%f呢, 还是一种情况下的%e, 这里存在怎样的关系。针对这个情况, 我使用代码进行测试, 发现结果是: a100000 print(%g%(a))100000 a10000000 print(%g%(a))1e07 a1000000 print(%g%(a))1e06可以发现, %g 这种方式是会自动去选择那个输出格式的, 要是在六位数的那个情况下, 它就会用科学计数法那样的方式去进行输出。文章里面曾经说 %g 就是 %f 和 %e 的一个简写, 但是我本人发现, 在上述的那些并不是使用科学计数法来输出的情况之中, 它最终输出出来的实际上是一个整数, 于是乎我又接着往下进行了如下一系列测试: a100000.0 print(%g%(a))100000 print(%f%(a))100000.000000用户发现 %g 与 %f 之间存在差异, 这个差异是在 %g 未选择以 %e 方式执行输出的前提下所表现出的特定情况。关于这一情况, 我又进行了下面这些方面的测试。 a100000.1 print(%g%(a))100000 a1.0 print(%g%(a))1 a1.1 print(%g%(a))1.1当 a 的值设定为 .1 的时候, 我发现程序输出的结果里面没有包含小数点后面的那个 1, 鉴于此现象, 我对 C 语言中使用 %g 进行格式输出的情况展开了对比分析, 由此猜想出在相应的逻辑中应当效仿 C 语言的运作方式, 即在运用 %g 来打印数据的内容时,会执行去除多余零数的操作, 并且将保留的有效数字上限设定为六位。
返回列表