添加一些内容后的 VB.Net 双重比较

2024-01-09

在向双变量添加一些值后,我遇到了一个奇怪的情况。 当将 (0.2) 多次添加到双精度变量时会出现问题 - 我认为这只发生在 (0.2) - 例如:考虑以下代码:

Dim i As Double = 2
i = i + 0.2
MsgBox(i) '2.2
MsgBox(i > 2.2) 'False >> No problem

但如果我多次添加 (0.2):

Dim i As Double = 2
i = i + 0.2
i = i + 0.2
MsgBox(i) '2.4
Msgbox(i > 2.4) 'True >> !!!!

Also

Dim i As Double = 2
For x As Integer = 1 to 5
    i = i + 0.2
Next
MsgBox(i) '3
Msgbox(i > 3) 'True >> !!!!

我用其他值尝试了相同的代码,但没有遇到这个问题:

Dim i As Double = 2
i = i + 0.5
i = i + 0.5
MsgBox(i) '3
Msgbox(i > 3) 'False >> No problem

有人对此有解释吗? 谢谢


如果您采用示例 3,您会发现结果实际上是3.0000000000000009.

问题在于双精度数的舍入。

如果更改数据类型decimal,问题就得到解决:

Sub Main()

    Dim i As Decimal = 2

    For x As Integer = 1 To 5
        i = i + 0.2
    Next
    MsgBox(i) '3
    MsgBox(i > 3) 'False >> No problem

End Sub

This is http://csharpindepth.com/Articles/General/Decimal.aspx关于 C#,但我想,对于 vb.net 也是如此。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

添加一些内容后的 VB.Net 双重比较 的相关文章

  • VB.NET 中字节数组的数组

    我需要一个数组 数组中的每个项目都是这样的字节数组 但我不知道如何执行以下操作 Dim xx as array xx 0 as byte H12 HFF xx 1 as byte H45 HFE 您可以像这样创建嵌套或 锯齿状 字节数组 D
  • vb.net中如何读取串口数据?

    我创建了一个类 有一个名为 SendUSSD 的子类 当调用它时 它会向连接 gsm 手机的 COM 端口发送一个 ussd 代码 如 123 此 usd 应该返回移动余额 If IsOpen True Then checks if the
  • 我可以快速将我的组件替换为自定义主题的组件吗?

    我想通过使用自定义创建的主题来改善程序的外观 如下所示 http www mpgh net forum 33 visual basic programming 492570 biesis vb net theme archive html
  • 如何在 VB.Net winforms 应用程序中找到 main() 入口点?

    当我用 C 创建 WinForms 应用程序时 输出类型为Windows Application我得到一个program cs with a static void Main 我可以用它来处理命令行参数等 但是 当我为 VB 创建等效项目时
  • 如何从vb.net插入两个表

    我想将两个值插入到我创建的 SQL 数据库的两个表中 在我的 vb net 代码中 我的问题是 如果我插入它 它会被插入 但仅在一张表中 否则有时它不会进入内部 这是我使用过的代码 c TextBox1 Text sh TextBox2 T
  • 从文件夹中选择随机图像以显示在 picturebox、vb.net 中

    我有一个图片框 它从文件夹中读取图像进行显示 而不是通常的无聊图像 我认为在文件夹中包含许多图像并让我的 vb net 程序随机挑选一个来显示可能会更好使用 我怎样才能做到这一点 尝试这个 Public Function GetRandom
  • VB.NET 密码哈希函数的 PHP 等效项 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有以下 Visual Basic NET 函数 用于生成存储在内部数据库中的密码哈希值 Public Function HashPass
  • 将图像另存为“位图图像”以访问数据库

    我能够使用内存流成功将图像保存到 Access 数据库表 我保存图像的列的数据类型为 OLEObject 当我打开表时 我在此图像列中看到 长二进制数据 值 问题是 当我在此数据库中创建任何报告时 我无法看到图像 而当我在MSPaint中打
  • 写入 SQL 时遇到问题

    我已经用 VB Net 编写了几个月了 并且在我的代码中成功地使用了 SQL 命令很多次 但是在写入数据库中的一个特定表时遇到了问题 我相信问题在于我有一个正在尝试写入的数字列 我得出这个结论是因为它是我不经常使用的唯一一个 并且我的代码不
  • 从 VB.net 中的列表框中删除项目

    我有两个ListBox1 and ListBox2 我已将项目插入到ListBox2通过选择以下代码ListBox1 item da6 New SqlDataAdapter select distinct component type fr
  • 对比有什么区别? [复制]

    这个问题在这里已经有答案了 可能的重复 Java 中的空检查 https stackoverflow com questions 2369226 null check in java 我只是想知道两者之间有什么区别 if null some
  • 为什么使用非十进制数据类型不划算?

    tl dr 我的怎么了Cur 货币 结构 tl dr 2 在给出示例之前 请先阅读问题的其余部分float or double 我知道这个问题在互联网上已经出现过很多次了 但是我还没有看到令人信服的答案 所以我想我会再问一次 我无法理解为什
  • 如何从 System.Web.HttpPostedFileBase 转换为 System.Web.HttpPostedFile?

    在尝试实现 MVC 文件上传时example http www hanselman com blog ABackToBasicsCaseStudyImplementingHTTPFileUploadWithASPNETMVCIncludin
  • 在本地安全存储用于 Web 服务的密码

    我有一个应用程序 通过发送用户名和密码来对第三方 Web 服务进行身份验证 目前 我每次启动应用程序时都会在 winform 上输入密码 但我需要它自动登录 我想比更安全地存储用户名 密码 Dim username as String us
  • Kotlin 中 Float 和 Double 类型的最小值和最大值

    找出确切的内容很简单min and max值Int and LongKotlin 中的整数 有符号 32 位整数 Int MIN VALUE 2147483648 Int MAX VALUE 2147483647 有符号 64 位整数 Lo
  • Vb.net 捕获 Ctrl+C

    I want to capture when someone uses CtrlC even when off focus im using Visual Basic 2010 好的 我为您提供了一个经过验证有效的解决方案 不过 您将需要一
  • 如何判断一个类是否被某个特定属性修饰

    我试图确定接口是否用特定属性装饰 例如我有以下界面
  • 检查有效的 IMEI

    有人知道如何检查有效的 IMEI 吗 我找到了一个可以检查此页面的功能 http www dotnetfunda com articles article597 imeivalidator in vbnet aspx http www do
  • 无法使用 dataformatstring 格式化日期时间

    由于某种原因 我无法在网格视图中格式化日期文本
  • 错误:查询值的数量和目标字段的数量不相同

    Public Class RoomInfo Dim ValTx As String Dim ValNr As Integer Private Sub cboRoomType DropDown sender As System Object

随机推荐

  • 通过 Python 代码使用 SignalR 服务器

    将 Python 与 SignalR 集成有哪些选项 Python 代码是大型第三方产品的一部分 与语言偏好无关 SignalR 服务器提供对现有 NET 产品的订阅 我们希望通过 Python 重用 NET SignalR 服务器 pyt
  • Java中如何随机选择图片?

    我正在制作一个将使用以下代码的程序 JLabel MyImage new JLabel new ImageIcon image1 png 但是 我想让随机图片出现 比如 image2 image3 image4 我该如何做到这一点 不使用L
  • @RequestMapping 在 Spring Boot 内部如何工作?

    RestController RequestMapping employee public class Employee RequestMapping save public void saveEmployee saving employe
  • blockIdx 与区块执行顺序相关吗?

    之间有什么关系吗blockIdx以及线程块在 GPU 设备上执行的顺序 我的动机是 我有一个内核 其中多个块将从全局内存中的同一位置读取 如果这些块能够同时运行 那就太好了 因为 L2 缓存命中很好 在决定如何将这些块组织成网格时 可以肯定
  • 如何识别无法嵌入文件的 YouTube 视频

    我有一个移动应用程序 可以在网络视图中嵌入一些 YouTube 视频 问题是 使用 YouTube Data API v3 我得到了 可嵌入 要显示的项目 但其中一些说 视频不可用 当我将相同的代码粘贴到 jsfiddle 或域或某种网络服
  • docker jboss7 战争提交。服务器启动失败且无法恢复

    有没有办法将 war 文件部署到在 docker 容器内运行的 Jboss as7 中 因为我的 jboss 服务器在 docker 提交后似乎失败了 Could not rename usr local share jboss stand
  • Keycloak + Kerberos 身份验证:机制级别:无效参数 (400) - 无法找到适当类型的密钥来解密 AP REP - 使用 HMAC 的 RC4

    我有以下内容 JBoss EAP 7 2 2 上的 Spring Web 应用程序 Machine CentOs CentO 上的 Keycloak 3 3 4 活动目录 我们在 OpenJDK 8 上运行 用户使用其 Active Dir
  • CG 3.0会泄露吗?

    我发现 CG 似乎存在内存泄漏 我通过 nvidia com 提交了一份报告 但如果您尝试这样做here http will sherif appspot com html d3d11 DirectWrite html 如果你删除那行 cg
  • 语法错误:编译 ejs 时参数列表后缺少 )

    编译 ejs 时 我收到错误 参数列表后缺少 我尝试了很多次 但找不到问题所在 这是导致错误的 ejs 这段代码有什么问题 h2 class page title Products h2 br a href admin products a
  • WPF Ribbon - 隐藏快速访问工具栏

    如何在 WPF 功能区中隐藏快速访问工具栏 For 您可以使用隐藏它VisualTreeHelper 上Loaded事件处理程序 只需将包含快速访问工具栏的行大小调整为 0 private void RibbonLoaded object
  • 安卓L | libusb_init 返回 LIBUSB_ERROR_OTHER (-99)

    我尝试使用libusb在未 root 的 Nexus 5 上 如建议的那样这种方法 https stackoverflow com a 24243605 902217 通过将 USB 文件描述符从 java 传输到本机端 我的应用程序通过以
  • 将空图添加到ggplot2中的facet_wrap

    我正在尝试创建 3 个图 其中所有面板应具有相同的大小 所以我认为解决方案可能是facet wrap 我的问题是 我不希望每个图表中有相同数量的图表 df lt data frame group c 1 1 2 2 2 3 3 name c
  • 在树枝模板中设置多维数组中单个对象的值

    对于项目需要 我需要在渲染之前更改一些表单字段数据 为此 我迭代表单元素并动态更改我需要的值 问题是我无法改变价值 我收到这个错误 Unexpected token punctuation of value end of statement
  • Emacs 搜索和替换的好教程 + 参考吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 对于 Emacs 的新用户来说 有什么好的教程 参考来学习和熟悉 Emacs 的搜索 替换和正则表达式功能吗 In Emacs press
  • 动态生成的 Perl Moose 访问器

    请参阅以下基于 Moose 的 Perl 代码片段 BusinessClass gt meta gt add attribute Key gt is gt rorw isa gt MooseType lazy gt 0 required g
  • C语言中如何连接两个整数

    Stack Overflow 用许多其他语言回答了这个问题 但没有用 C 语言回答 所以我想我会问 因为我有同样的问题 C语言中如何连接两个整数 Example x 11 y 11 我想要 z 如下 z 1111 其他示例尝试使用字符串来执
  • N层架构中如何维护事务

    我正在 N 层架构中开发应用程序 众所周知 我们需要在插入 更新 删除操作时实现事务 请告诉我如何在 N 层架构的 c net 中使用事务 我的架构是这样的 Applicationform gt middle Layre gt Factor
  • simple_form 带有自定义包装器的自定义输入

    我正在尝试在我的应用程序中为货币进行自定义输入 我有那些 bootstrap 包装器等 我认为它带有 simple form 或 bootstrap gem 所以 我可以做类似的事情 它的工作原理正如预期的那样 问题是 我在很多地方都需要同
  • 登录框架

    想象一下有一个框架提供了一个名为logutils set up 它根据某些配置设置日志记录 应尽早设置日志记录 因为导入库期间发出的警告不应丢失 由于旧方法 if name main 看起来很难看 我们使用控制台脚本入口点来注册main m
  • 添加一些内容后的 VB.Net 双重比较

    在向双变量添加一些值后 我遇到了一个奇怪的情况 当将 0 2 多次添加到双精度变量时会出现问题 我认为这只发生在 0 2 例如 考虑以下代码 Dim i As Double 2 i i 0 2 MsgBox i 2 2 MsgBox i g