当前位置:  开发笔记 > 编程语言 > 正文

在D中打印浮点数

如何解决《在D中打印浮点数》经验,为你挑选了1个好方法。

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

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

现在我正在使用黑客:

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

它完成了这项工作,但我希望使用格式化操作,如果可能的话.

UPDATE

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



1> Sascha..:

简短回答:使用printf格式说明符无法做到这一点.

由于D使用与C99相同的格式vsprintf(),因此您可以在此主题中找到答案:避免在printf()中使用尾随零

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有