首页 > 解决方案 > 将天转换为年秒和分钟

问题描述

我厌倦了创建一个将年转换为天、小时、分钟、秒的程序,但是在编译程序时出现错误。这是我到目前为止所尝试的:

#include <iostream>
#include <string>

using namespace std;

int main()
{

 double years,days,hours,minutes,seconds;

 cout<<"Enter year/s : ";
 cin>>years;

 days = years * 365.2425;
 hours = years * 8.765,82;
 minutes = years * 525.949,2;
 seconds = years * 31.556.952;

 cout << "days : " << days <<endl;
 cout << "hours : " << hours <<endl;
 cout << "minutes : " << minutes <<endl;
 cout << "secodns : " << seconds <<endl;

}

错误信息:错误:数字中的小数点太多

标签: c++

解决方案


在 C++.中是小数分隔符,'可用作千位分隔符。(这可能与您的母语不同,但您必须适应这一点才能编写 C++ 代码。)

该错误告诉您,数字文字中不能有多个小数分隔符 ( .),就像在31.556.952.

,在 C++ 中具有完全不同的含义。它是逗号运算符,它计算两边的表达式并返回右手结果(如果运算符没有重载)。

因此,您可以通过将以下几行重写为来修复您的代码:

 days = years * 365.2425;
 hours = years * 8'765.82;
 minutes = years * 525'949.2;
 seconds = years * 31'556'952;

'分隔符不是必需的,您也可以删除它们。(另请注意,它们仅在 C++14 之后可用。)


推荐阅读