c++ - C++ 中的 int 和 double 运算

标签 c++ int double

我正在尝试将纬度和经度位置从度、分、秒转换为十进制度数。但是,当我尝试在 C++ 中执行此操作时,它会将数字四舍五入并且不给出小数形式。我认为这是因为 double 和 int 混合操作,但我似乎找不到问题所在。我在下面包含了我的代码。任何帮助将不胜感激。

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

int main()
{
int user_degrees_latitude, user_minutes_latitude, user_seconds_latitude, user_degrees_longitude, user_minutes_longitude, user_seconds_longitude;
double total_minutes_latitude, total_degrees_latitude, total_minutes_longitude, total_degrees_longitude;
const double sixtieth = (1/60);

cout<< "Input latitude in degrees, minutes, seconds:";
cin >> user_degrees_latitude >> user_minutes_latitude >> user_seconds_latitude;

cout << "Input longitude in degrees, minutes, seconds:";
cin >> user_degrees_longitude >> user_minutes_longitude >> user_seconds_longitude;

total_minutes_latitude = (user_minutes_latitude + (((sixtieth)*user_seconds_latitude));
total_degrees_latitude = (abs(user_degrees_latitude) + ((sixtieth)*total_minutes_latitude));

total_minutes_longitude = (user_minutes_longitude + ((sixtieth)*user_seconds_longitude));
total_degrees_longitude = (abs(user_degrees_longitude) + ((sixtieth)*total_minutes_longitude));

cout << user_degrees_latitude << " deg " << user_minutes_latitude << "\' " << user_seconds_latitude << "\" latitude, " << user_degrees_longitude << " deg " << user_minutes_longitude << "\' " << user_seconds_longitude << "\"";
cout << " is (" << total_degrees_latitude << "," << total_degrees_longitude << ")"<<endl;





    return 0;
}

最佳答案

1/60 是整数除法,向零舍入。这意味着您的 sixtith 变量是 0。您可能也在其他地方进行整数除法。如果您希望除法是 float ,请确保至少有一个参数是 float 。

关于c++ - C++ 中的 int 和 double 运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21263854/

相关文章:

c - 打印 double ,最后不加零?

c++ - 在 makefile 中包含 valgrind

C++ - 将项目添加到排序数组的最快方法

Python 从 float 中获取最低有效数字(不使用字符串操作)

c# - 为什么 Int32.MaxValue * Int32.MaxValue == 1?

Java-双变量问题

c++ - 数组下标的无效类型 'double [100][double]'

c++ - 调用通用方法/将通用功能应用于具有不同类型对象的不同容器

c++ - 为什么在此 CRTP 基函数调用中添加引用会消除错误?

python - 寻找嵌套列表中的最低值?