【发布时间】:2014-08-08 17:52:03
【问题描述】:
我使用键盘上的std::cin 读取了一个double 值,设该值为 1.15 。当我在读取值后放置一个断点时,Visual Studio 显示该值为 1.14999999。但是如果我打印它,它会在我的控制台上打印 1.15。后来我写了以下代码,但效果不佳
int main()
{
long double valueA;
int required;
std::cin>>valueA;
required=(valueA*10000)-(((int)valueA)*10000);
std::cout<<(required);
}
当输入为 1.015 时,输出为 149,但预期输出为 150。为什么我的编译器将 1.015 视为 1.014999999?我该如何纠正这个错误?
【问题讨论】:
标签: c++ visual-c++