使用iomanip时如何避免在c ++中打印-0.00

时间:2017-08-01 02:31:36

标签: c++ iomanip

我使用C ++ iomanip以2位小数输出double个精度数字。但我不希望得到-0.00之类的结果,如以下代码所示:

  #include <iostream>
  #include <iomanip>
  using namespace std;

  int main(){
    double x=-0.001;
    cout<<setiosflags(ios_base::fixed);
    cout<<setprecision(2)<<x<<endl;
    return 0;
  }

x的其他值的结果全部正确舍入到2位小数,除非-0.005<x<0,在这种情况下会打印恼人的-0.00而不是0.00。即使-0.00行在x=round(x*100)*0.01cout前使用round cmathfunc tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as UITableViewCell cell.textLabel?.text = "My Text" return cell } 结果仍然存在。什么操纵者可以正确处理这个?

0 个答案:

没有答案