std的map或者set中,比较浮点类型二维三维数据
在map和set中,如果比较对象是二维或者三维数据,需要把二维三维数据的浮点数转换为比较精度。
如果比较精度是0.001,那么数据的精度也必须是0.001,不然会出现如下情况:
比较函数
struct Point001Comp {
bool operator()(const Point* l, const Point* r) const
{
if(fabs(l->X-r->X)<0.001)
{
if(fabs(l->Y-r->Y)<0.001)
{
return false;
}
else
{
return l->m_Y<r->m_Y;
}
}
else
{
return l->m_X<r->m_X;
}
}
};
按顺序插入以下数据。
87.285763,267.174099
87.286628,263.922115
查询
87.286943,263.922115
会发现查询不到。
std的map或者set中,比较浮点类型二维三维数据的更多相关文章
- JAVA中生成、解析二维码图片的方法
JAVA中生成.解析二维码的方法并不复杂,使用google的zxing包就可以实现.下面的方法包含了生成二维码.在中间附加logo.添加文字功能,并有解析二维码的方法. 一.下载zxing的架包,并导 ...
- 在iOS中使用ZBar扫描二维码
最近在做的项目中需要用到二维码扫描功能,之前在Android中使用过ZXing识别二维码,ZXing也有对应的iOS版本,经过了解,ZBar也是一个常用的二维码识别软件,并分别提供了iOS和Andro ...
- MVC5中使用jQuery Post 二维数组和一维数组到Action
很久没有写了,最近在做一个MVC项目,这是我做的第一个MVC项目.之前可以说多MVC一点都不了解,今天把昨天遇到的一个问题记录下来.MVC大神就请飘过吧,跟我遇到同样问题的可以进来看看.遇到的第一个问 ...
- C#/VB.NET 在Word中添加条码、二维码
本文介绍如何通过C# 和VB.NET代码实现在Word文档中添加条码和二维码.代码中将分为在Word正文段落中.页眉页脚中等情况来添加. 使用工具:Free Spire.Office for .NET ...
- JS中:数组和二维数组、MAP、Set和枚举的使用
1.数组和二维数组: 方法一: var names = ['Michael', 'Bob', 'Tracy']; names[0];// 'Michael' 方法二: var mycars=new ...
- 剑指offer1: 组类型——二维数组中的查找(给定一个数字,查找是否在该数组中)
1. 思路: 缩小范围 2. 方法: (1)要查找的数字等于数组中的数字,结束查找过程: (2)要查找的数字小于数组中的数字,去除该数字右边的数字,在剩下的数字里查找: (3)要查找的数字大于数组中的 ...
- Java中使用验证码和二维码
资源 需要: jelly-core-1.7.0.GA.jar 网站: http://lychie.github.io/products.html 将下载下来的 jelly-core-1.7.0 ...
- opencv 在工业中的应用:二维标定
在工业中经常要检测一个零件的尺寸,但是图像处理得到的是像素值,怎么才能得到实际的毫米值呢?这就要用到二维标定,我用OPENCV写了一个利用标定板进行标定的DEMO. 很多商业软件都没有二维标定的功能, ...
- MVC中使用QrCodeNet 生成二维码
QrCodeNet下载地址:http://qrcodenet.codeplex.com/ using System.Drawing; using System.Drawing.Imaging; usi ...
- 【opengl】OpenGL中三维物体显示在二维屏幕上显示的变换过程
转自:http://blog.sina.com.cn/s/blog_957b9fdb0100zesv.html 为了说明在三维物体到二维图象之间,需要经过什么样的变换,我们引入了相机(Camera)模 ...
随机推荐
- SpringBoot创建微服务项目
下载安装并配置git 为自己的git设置名字 git config --global user.name "XXX" 配置自己注册码云的邮箱 git config --global ...
- 《MongoDB游记之轻松入门到进阶》代码下载
<MongoDB游记之轻松入门到进阶>代码下载,看看有没有用 http://pan.baidu.com/s/1boKG28R https://item.jd.com/12236244.ht ...
- ModbusTCP通信协议分析
前言 大家好!我是付工.前面给大家介绍了一系列关于RS485与Modbus的知识. 终于有人把RS485说清楚了 终于有人把Modbus说明白了 通透!终于把ModbusRTU弄明白了 今天跟大家聊聊 ...
- WeiXin.Export.20220726
用 QuestPDF操作生成PDF更快更高效! Blazor Server 应用程序中进行 HTTP 请求 开源WPF控件库-AdonisUI FastTunnel-开源内网穿透框架 AI 之 Ope ...
- kubernetes的Deployment
Deployment 在我们发布容器中的服务时,总共有一下几种方式: 将旧的pod停掉,创建新的pod并发布 创建新的pod,然后将旧的pod停掉 滚动式升级.创建一个新的pod,删除一个旧的pod, ...
- centos rar文件解压不出
楼主的项目开发是在centos系统上面的,但是经常小伙伴发的压缩文件都是rar格式的. 在centos系统自带的解压的软件并不能解压rar格式的文件: 双击文件时,能弹出解压窗口,可是发现可以解压的更 ...
- HEU KMS:一款超稳的MS Windows激活工具
HEU KMS ACTIVATOR是一款功能齐全的免费Windows和Office系列激活工具. 打开程序,一步到位.直接点击开始就可以准备激活,Windows11/10乃至更早的版本都可以通用,顺带 ...
- Django运行服务报NameError: name ‘os‘ is not defined
出现Bug: 原因:这里调用了os模块,但是文件头并没引用os模块 解决办法:在settings.py文件头加上:
- HTML5+CSS3+JavaScript网页实战
1. HTML5基础 HTML5,作为构建和呈现网页内容的标准标记语言,带来了许多革命性的变化.它不仅提供了更加语义化的标签,使得网页内容更具可读性和可访问性,还增加了对多媒体的原生支持,无需依赖第三 ...
- es安全认证search-guard配置
大数据安全系列的其它文章 https://www.cnblogs.com/bainianminguo/p/12548076.html-----------安装kerberos https://www. ...