0

我试图让 printf 用浮点数“做正确的事”,即:

  • 永远不会丢失信息,始终打印精确值所需的尽可能多的小数

  • 不要打印一堆多余的尾随零

  • 如果输出将不合理地大,则切换到科学计数法

%.20g似乎做到了所有这些,但我还想得到一件事:

  • 如果该值是整数,请打印尾随 '.0' 以指示它是具有整数值的浮点数,而不是整数类型的数字

有没有办法在不失去前三个标准的情况下获得第四个标准?

4

1 回答 1

0

看起来标志“#”至少会在末尾加上一个句号。试试%#.20g

例如,此处记录了 # 标志:“与 a、A、e、E、f、F、g 或 G 一起使用,即使后面没有数字,它也会强制书面输出包含小数点。默认情况下,如果没有数字跟着,不写小数点。”

于 2013-04-10T23:48:56.897 回答