c++ - 将天转换为年秒和分钟
问题描述
我厌倦了创建一个将年转换为天、小时、分钟、秒的程序,但是在编译程序时出现错误。这是我到目前为止所尝试的:
#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++ 代码。)
该错误告诉您,数字文字中不能有多个小数分隔符 ( .
),就像在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 之后可用。)
推荐阅读
- javascript - React Native - TypeScript 中带有 ref 回调的高阶组件引发编译错误
- r - shinyApp :获取文件夹作为输入,并将文件夹内的文件用作 R 函数的输入
- r - 使用 rowMeans() 进行故障排除 - 'x' 必须是至少包含二维的数组
- apache-kafka - Kafka Stream Reducer 没有减少记录
- android - 在 kotlin 迁移后 Crashitycs 报告错误的行号
- excel - 使用 vba 将文件从不同的文件夹循环复制到另一个文件夹
- java - 河内塔之类的
- android - 如何为所有系统语言启用活动
- android - 是否可以使用 ARCore 在存储的图像上“应用”AR?
- google-sheets - 将单元格公式字符串的一部分格式化为超链接