Dan*_*son 6 documentation perl
perl 文档中的哪里提到了何时将在这里获得指数格式?
$ perl -wle 'print for 0.001, 0.0001, 0.00001, 1.00001;'
0.001
0.0001
1e-05
1.00001
Run Code Online (Sandbox Code Playgroud)
不,我今天不是在谈论printf。它在哪里说“小于 0.0001 的数字会以不同的方式打印”之类的内容?
Sha*_*awn 10
它不是很清楚或容易找到,不是。您必须深入研究内部结构才能获得任何相关内容。
来自佩拉皮:
Gconvert
该预处理器宏定义为将浮点数转换为不带尾随小数点的字符串。这模仿了 的行为
sprintf("%g"),但有时效率更高。如果gconvert()不可用,但gcvt()删除尾随小数点,则gcvt()使用。sprintf("%g")如果其他方法都失败,则使用宏 using 。
perlnumber表示从本机浮点到十进制字符串的转换“涉及 C 编译器执行的步骤”,我认为这意味着前面提到的宏Gconvert。因此,您必须研究这些函数在系统上的行为方式,以获得有关何时在常规记数法和科学记数法之间切换以呈现数字的详细信息。