gpt4 book ai didi

printf - 在 D 中打印 float

转载 作者:行者123 更新时间:2023-12-02 07:56:59 24 4
gpt4 key购买 nike

自从我上次使用 D Programming Language 以来已经有一段时间了,现在我将它用于一些涉及科学计算的项目。

我有一堆 float 据,但是当我使用 writefln 打印它们时,我得到的结果如下:4.62593E-172 这是一个零!我如何使用字符串格式化 % 东西来打印诸如 0 之类的东西?

现在我正在使用 hack:

    if( abs(a) < 0.0000001 )
writefln(0);
else
writefln(a);

它完成了这项工作,但如果可能的话,我想使用格式化操作来完成它。

更新

有人建议 writefln("%.3f", a) 但问题是它会打印不必要的额外零,即 0 变成 0.0001.2 变成 1.200
我可以让它也删除尾随零吗?

最佳答案

简短回答:这不能用 printf 格式说明符来完成。

由于 D 使用与 C99 的 vsprintf() 相同的格式,您可以在这个线程中找到答案:Avoid trailing zeroes in printf()

关于printf - 在 D 中打印 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/330169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com