简单的计算由于某种原因不起作用

2023-12-10

好吧,我正在尝试计算两个值的百分比。这应该非常简单,但由于某些奇怪的原因它不起作用。我太累了/太笨了,无法弄清楚。 这是我的代码,它一直返回 0,我在调试时检查了这些值,FilesCompleted 为 295,TotalFilesCount 为 25002,返回值 var 只是 0,它应该已经是 1 了。

private int CalculatePercentComplete(int FilesCompleted, int TotalFilesCount)
        {
            int returnvalue = (FilesCompleted / TotalFilesCount) * 100;

            if (returnvalue > 100 || returnvalue < 1) return 1;
            else return returnvalue;
        }

我在调试时检查了这些值,FilesCompleted 为 295,TotalFilesCount 为 25002,返回值 var 只是 0,它应该已经是 1 了。

不,因为所有算术都是用整数完成的。所以首先计算这个表达式:

(FilesCompleted / TotalFilesCount)

即 295 / 25002。结果integer算术结果是 0...然后你将它乘以 100,你就得到了still得到 0。最简单的解决方法就是先进行乘法:

int returnvalue = (FilesCompleted * 100) / TotalFilesCount;

请注意,如果FilesCompleted大于int.MaxValue / 100。您可以通过执行浮点算术中的所有操作来解决此问题:

int returnvalue = (int)((FilesCompleted * 100.0) / TotalFilesCount);

...或通过使用long整数算术:

int returnvalue = (int)((FilesCompleted * 100L) / TotalFilesCount);

当然,如果您不希望文件数量过多,那么这些都不是必需的。 (最多 4200 万个文件就可以了...)

附带说明一下,您的参数名称违反了 .NET 命名约定。它们应该是驼峰式的 -totalFilesCount and filesCompleted.

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

简单的计算由于某种原因不起作用 的相关文章

  • 当我单击 C# 中的“取消”按钮时重定向到新页面(Web 部分)

    Cancel button tc new TableCell btnCancel new Button btnCancel Text Cancel btnCancel Click new EventHandler btnCanel Clic
  • 处理 fanart.tv Web 服务响应 JSON 和 C#

    我正在尝试使用 fanart tv Webservice API 但有几个问题 我正在使用 Json Net Newtonsoft Json 并通过其他 Web 服务将 JSON 响应直接反序列化为 C 对象 这里的问题是元素名称正在更改
  • Couchbase v6.0:更新文档内容而不重置文档过期(TTL)值

    我正在使用 Net Couchbase SDK CouchbaseNetClient Package 创建一个新文档 并在执行此操作时设置该文档的到期值 到期 TTL 值设置正确并且工作正常 问题陈述 创建文档后 我需要更新我使用 N1QL
  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • ASP .NET MVC,创建类似路由配置的永久链接

    我需要帮助在 MVC 网站中创建类似 URL 路由的永久链接 Slug 已设置为 www xyz com profile slug 代码为 routes MapRoute name Profile url profile slug defa
  • Guid 应包含 32 位数字和 4 个破折号

    我有一个包含 createuserwizard 控件的网站 创建帐户后 验证电子邮件及其验证 URL 将发送到用户的电子邮件地址 但是 当我进行测试运行时 单击电子邮件中的 URL 时 会出现以下错误 Guid should contain
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • 如何用 kevent() 替换 select() 以获得更高的性能?

    来自Kqueue 维基百科页面 http en wikipedia org wiki Kqueue Kqueue 在内核和用户空间之间提供高效的输入和输出事件管道 因此 可以修改事件过滤器以及接收待处理事件 同时每次主事件循环迭代仅使用对
  • 用于从字符串安全转换的辅助函数

    回到 VB6 我编写了一些函数 让我在编码时无需关心字符串的 null 和 数字的 null 和 0 等之间的区别 编码时 没有什么比添加特殊情况更能降低我的工作效率了用于处理可能导致一些不相关错误的数据的代码 9999 10000 如果我
  • 如何排列表格中的项目 - MVC3 视图 (Index.cshtml)

    我想使用 ASP NET MVC3 显示特定类型食品样本中存在的不同类型维生素的含量 如何在我的视图 Index cshtml 中显示它 an example 这些是我的代码 table tr th th foreach var m in
  • Qt - 设置不可编辑的QComboBox的显示文本

    我想将 QComboBox 的文本设置为某些自定义文本 不在 QComboBox 的列表中 而不将此文本添加为 QComboBox 的项目 此行为可以在可编辑的 QComboBox 上实现QComboBox setEditText cons
  • 为什么我使用google'smtp'无法发送电子邮件?

    我有以下程序使用 smtp gmail com 587 发送电子邮件 namespace TestMailServer class Program static void Main string args MailMessage mail
  • 哪些属性有助于运行时 .Net 性能?

    我正在寻找可用于通过向加载器 JIT 编译器或 ngen 提供提示来确保 Net 应用程序获得最佳运行时性能的属性 例如我们有可调试属性 http msdn microsoft com en us library k2wxda47 aspx
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • .NET UI 元素线程限制的原因

    我们知道 除了实例化元素的线程之外 不可能从任何线程执行操作任何 UI 元素属性的代码 我的问题是 为什么 我记得当我们使用 COM 用户界面元素时 在 COM Visual Basic 6 0 时代 所有 UI 元素都是使用 COM 类和
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • 以编程方式使用自定义元素创建网格

    我正在尝试以编程方式创建一个网格 并将自定义控件作为子项附加到网格中 作为 2x2 矩阵中的第 0 行第 0 列 为了让事情变得更棘手 我使用了 MVVM 设计模式 下面是一些代码可以帮助大家理解这个想法 应用程序 xaml cs base
  • boost::program_options:带有固定和可变标记的参数?

    是否可以在 boost program options 中使用此类参数 program p1 123 p2 234 p3 345 p12 678 即 是否可以使用第一个标记指定参数名称 例如 p 后跟一个数字 是动态的吗 我想避免这种情况
  • 如何确定母版页中正在显示哪个子页?

    我正在母版页上编写代码 我需要知道正在显示哪个子 内容 页面 我怎样才能以编程方式做到这一点 我用这个 string pageName this ContentPlaceHolder1 Page GetType FullName 它以 AS

随机推荐

  • Bash:选择与模式匹配的上一个命令

    我知道使用向上和向下箭头进行 bash 历史导航 我想要一种懒惰的方法来选择与某些正则表达式匹配的上一个命令 该命令比整个命令短 因此键入所需的时间更少 用bash可以吗 如果没有的话其他shell有这样的功能吗 您可以随时使用CTRL R
  • 此 iPhone 6 运行的是 iOS 11.3.1 (15E302),该版本的 Xcode 可能不支持

    我正在使用 Xcode 9 2 和 Sierra 10 3 3 我的 iPhone 6 版本为 11 3 1 15E302 我无法使用 iPhone 6 来测试 IOS 应用程序 因为 Xcode 说 无法找到设备支持文件 此 iPhone
  • 如何首先按值排序 std::map,然后按键排序?

    我需要排序一个std map按值 然后按键 该地图包含如下数据 1 realistically 8 really 4 reason 3 reasonable 1 reasonably 1 reassemble 1 reassembled 2
  • 有什么办法可以链接到我的应用程序的 Android 通知设置吗?

    有什么方法可以启动意图来访问我的应用程序的 Android 通知设置屏幕 如下图所示 或者有一种简单的方法可以制作一个只需单击即可引导至此处的 PreferenceScreen 项目 以下内容适用于 Android 5 0 Lollipop
  • 查找二维数组或直方图的两个主要峰以及峰之间的谷

    for int i 0 i lt c length i for int j 0 j
  • 无法将 Firebase cocoapod 添加到 kotlin 多平台共享模块

    我正在将 Android iOS 应用程序迁移到 Kotlin 多平台框架 这个过程或多或少进展顺利 但是所有与从 iOS 框架 pod 导入以在共享代码模块中使用它们相关的事情都不容易 这次 我在尝试在通用模块中开发共享类来处理与分析和崩
  • 意外的字符串常量[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 我的数据库有问题 我想在R中输入数据库 但出现此消息 错误意外的字符串常量 我写了这个命令 read csv prova1 sep header 20 有什么问题 我想我的数
  • 在具有透明背景的 Octave 中保存绘图

    我使用 Octave 绘制了一些 GPS 轨迹和航向矢量 我想将绘图覆盖在卫星图像上 但是当我保存绘图时 它具有白色背景 有没有办法保存为透明背景 我认为将 print 与 pngalpha 设备一起使用可以满足您的需求 例如 print
  • Android ActionBar/Toolbar 颜色在浅色主题和深色主题中不同

    我试图理解为什么ActionBar浅色主题与深色主题的风格不同 下面是一个简单的设置屏幕 可以在具有相同主题的浅色和深色主题之间切换 值 主题 xml
  • php日期和夏令时混淆

    我遇到了一个问题 我 99 确信它与昨天开始的夏令时有关 以下脚本 其中 86400 是一天的秒数 给出以下输出 1383451200 2013 11 03 1 1383537600 2013 11 03 0 2 个时间戳 以一天中的秒数分
  • 使用 jQuery 从 URL 获取查询字符串 [重复]

    这个问题在这里已经有答案了 我有以下网址 http www mysite co uk location mylocation1 我需要得到的值location将 URL 转换为变量 然后在 jQuery 代码中使用它 var thequer
  • 在 ruby​​ 中如何判断输入的字符串是大写还是小写?

    我正在尝试编写一个程序 当输入单个字母时 如果它是大写字母 则将其保留为大写字母并返回它 如果它是小写字母 则将其转换为大写字母 我该如何编写才能判断字符串最初是大写还是小写 只需将字符串转换为大写并与原始字符串进行比较 string st
  • 设置 SCORM 课程进度

    我只是想知道 是否可以在运行时在 SCORM 文件中设置课程进度 我应该检查哪种方法 进度将根据 SCO 开发人员的学习要求来定义 一般来说 达到的目标 cmi objectives 数量或学习者访问的页面数量 要存储进度 如果 SCORM
  • Shiny 中 fillPage 的基本示例 - 它是如何工作的?

    我不明白如何获得一个图来完全填充我的仪表板 除了标题之外 我想我必须使用 fillPage 但我无法让它工作 这是我的例子 我很感谢任何提示 ipak lt function pkg new pkg lt pkg pkg in instal
  • 为什么这个并行代码比类似的非并行版本慢?

    我有以下代码 从 LINQPad 复制到此处 显然 我似乎不明白 TPL 是如何工作的 或者代码是垃圾 为什么并行版本比非并行版本运行得慢 for int i 0 i lt 100 i ParallelOptions ops new Par
  • Firebase 未将 CORS 标头添加到 REST 请求

    有没有办法为 REST 端点启用 CORS 如上所述here and here Firebase 似乎不再默认添加它们 对于不需要实时连接或无法使用 Websocket 的应用程序来说 这将很有帮助 这是对 Firebase 的 REST
  • R:尽可能均匀地分配数量 II

    我们有一定的数量 例如300 单位 该数量应尽可能均匀地分布在 40 个 槽 或 箱 中 如果每个槽都相同 那就很容易了 所以每个槽都是 7 5 然而 插槽的大小各不相同 我们不能 填充 超过其 大小 允许的范围 例如如果只有 4 个 我们
  • 仅将 HTML、CSS 网页部署到 Tomcat

    我刚刚开始开发website 我现在所拥有的就是HTML 页面由几个人支持CSS 样式表 我可以创建吗来自 HTML 和 CSS 页面的 WAR 文件 我如何将它们部署到 Tomcat 服务器上 Thanks 没有真正需要创建一场战争来从
  • 如何在同一页面上的 Angular 应用程序和非 Angular 应用程序之间进行通信?

    我正在通过 Angular bootstrapping 使用 Angular 模块将一段非 Angular 网页转换为 Angular 版本 它工作得很好 除了它需要与页面的其他部分进行通信这一事实之外 不幸的是 我目前无法将页面的其余部分
  • 简单的计算由于某种原因不起作用

    好吧 我正在尝试计算两个值的百分比 这应该非常简单 但由于某些奇怪的原因它不起作用 我太累了 太笨了 无法弄清楚 这是我的代码 它一直返回 0 我在调试时检查了这些值 FilesCompleted 为 295 TotalFilesCount