代码之家  ›  专栏  ›  技术社区  ›  Spike

有没有一种不那么递归的格式化数字的方法?

  •  4
  • Spike  · 技术社区  · 15 年前

    是否存在C++的流操作器的C等价物? 如

    int decimalPlaces = 2;
    double pi = 3.14159;
    cout.precision(decimalPlaces);
    cout << pi;
    

    将数字格式化为字符串以将数字格式化为字符串感觉很奇怪。 如

    int decimalPlaces = 2;
    double pi = 3.14159;
    string format = "N" + decimalPlaces.ToString();
    pi.ToString(format);
    

    在C#里就是这样做的,还是我错过了什么?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Marcelo Cantos    15 年前

    我会稍微缩小一点:

    int decimalPlaces = 2;
    double pi = 3.14159;
    pi.ToString("N" + decimalPlaces);
    

    而且,你没有 在打印之前格式化号码。打印设备也将接受格式化结构。