当前位置:首页 > 编程笔记 > 正文
已解决

【自动驾驶解决方案】C++取整与保留小数位

来自网友在路上 11078107提问 提问时间:2023-11-21 14:02:03阅读次数: 107

最佳答案 问答题库1078位专家为你答疑解惑

一、C++基础

1.1double型保留小数为,并以字符输出

#include <iostream>
#include <sstream>
#include <iomanip> // 包含std::fixedint main() {//浮点数double number = 3.1415926;//转换工具类streamstd::stringstream stream;stream << std::fixed << std::setprecision(2) << number;//c++11内置函数str()std::string result = stream.str();//输出std::cout << result << std::endl;return 0;
}

1.2 四舍五入

常用的方法是使用std::ostringstream和std::fixed结合使用std::setprecision和std::round来实现

#include <iostream>
#include <sstream>
#include <iomanip> // 包含std::fixed
#include <cmath> // 包含std::roundint main() {double number = 3.1415926;std::ostringstream stream;stream << std::fixed << std::setprecision(2) << std::round(number * 100) / 100;std::string result = stream.str();std::cout << result << std::endl;return 0;
}

二 自动驾驶方案

1.1 目标跟踪部分代码

	....//获取目标距离double distance = cvt_point(cv::Point(center_x, center_y));std::stringstream stream;stream << std::fixed << std::setprecision(2) << distance;//转为有2位小数的字符std::string disttance_str = stream.str();// 通过opencv可视化cv::putText(image, //cv::format("ID: %s", uuid_str.c_str()),cv::format("Dis: %s m", disttance_str.c_str()),cv::Point(left, top - 5),cv::FONT_HERSHEY_SIMPLEX,3,  // font scalecolor,10,  // thickness /home/nvidia/yolo_test/src/trackcv::LINE_AA);}...

代码效果图,小数点只保留两位
在这里插入图片描述

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"【自动驾驶解决方案】C++取整与保留小数位":http://eshow365.cn/6-41279-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!