【问题标题】:Double to String keeping trailing zeroDouble to String 保持尾随零
【发布时间】:2019-09-17 14:03:14
【问题描述】:

我尝试将双精度值转换为字符串并使用Replace() 方法 将 ',' 替换为 '.'。

这很好用,但只有当尾随数字不为零时,我的字符串中才需要零,即使值是 1234.0。这适用于十进制值。我试图将双精度转换为十进制,但如果有零,我会丢失十进制数字。

我知道我错过了一些东西。我将不胜感激。

【问题讨论】:

  • 这是用什么语言写的?
  • 这需要澄清。你想从什么输入中得到什么输出?什么不工作?什么编程语言?

标签: c#


【解决方案1】:

这取决于语言。 C#中的一个例子

d.ToString("0.00");

将产生一个带有 2 位小数的双精度值(无论值为零或其他)。

【讨论】:

    【解决方案2】:

    如果这是在 Java 中,请查看 NumberFormat classsetMinimumFractionDigits() 方法。

    例子:

    double d1 = 2.5;
    double d2 = 5.0;
    
    NumberFormat nf = NumberFormat.getInstance();
    nf.setMinimumFractionDigits(2);
    
    String d1s = nf.format(d1);
    String d2s = nf.format(d2);
    
    System.out.println("d1s: " + d1s + " and d2s: " + d2s);
    

    生产

    d1s:2.50 和 d2s:5.00

    【讨论】:

      【解决方案3】:

      ...在 Fortran 中,您可以执行以下操作::-)

            write(*,110) x
        110 format (F5.3)
      

      (猜想我们真的必须知道正在使用什么语言......)

      【讨论】:

      • +1:我打算删除我的答案——既然 OP 说 C#——但在阅读了你的答案后,我想我会留下它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-02
      • 2014-09-13
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      • 1970-01-01
      • 2015-06-16
      相关资源
      最近更新 更多