Int*_*idd 1 c++ floating-point precision double
这是我的代码
#include <sstream>
#include <iomanip>
#include <string>
#include <iostream>
int main(int ac, char **av)
{
if (ac > 1)
{
std::string input = av[1];
std::stringstream ss;
double output;
ss << input;
ss >> output;
std::cout << std::fixed << std::setprecision(2) << output << std::endl;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用stringstreams将字符串转换为double.
它很有用,但是当使用非常大的数字时它会非常奇怪:
./a.out 999999999999999999999999
999999999999999983222784.00
./a.out 42
42.00
Run Code Online (Sandbox Code Playgroud)
我该如何处理所有双重值?
| 归档时间: |
|
| 查看次数: |
5454 次 |
| 最近记录: |