rounding-error相关内容

实体框架代码首先截断我的小数

我在 MVC 5 应用程序上使用 Code First 方法使用 Entity Framework 6.x.在这种特殊情况下,我的模型(除其他外)包含两个名为纬度和经度的属性: [必填,范围(-90, +90)]公共十进制纬度{获取;放;}[必需,范围(-180,+180)]公共十进制经度{得到;放;} 当我执行迁移时,我得到了类似的东西 CreateTable("ResProperty") ..

浮点数是如何存储的?什么时候重要?

跟进这个问题,看来有些数字根本不能用浮点数表示,而是近似的. 浮点数是如何存储的? 不同尺寸是否有共同标准? 如果我使用浮点,我需要注意哪些问题? 它们是否跨语言兼容(即,我需要处理哪些转换才能通过 TCP/IP 将浮点数从 python 程序发送到 C 程序)? 解决方案 如前所述,维基百科文章IEEE 754 很好地展示了浮点数在大多数系统上的存储方式. ..
发布时间:2022-01-09 09:59:40 其他开发

在 Java 中组合区域时舍入不准确?

我正在 Java 中使用 Areas. 我的测试程序绘制了三个随机三角形并将它们组合成一个或多个多边形.在 Areas 被 .add() 编在一起后,我使用 PathIterator 来追踪边缘. 然而,有时 Area 对象不会按照它们应该的方式组合......正如您在我发布的最后一张图片中看到的那样,会绘制额外的边缘. 我认为问题是由于Java的Area类中的舍入不准确引起的( ..
发布时间:2021-11-17 04:16:29 Java开发

如果两种语言都遵循IEEE 754,那么使用两种语言进行的计算是否会得出相同的答案?

我正在将程序从Scilab代码转换为C ++.尤其是一个循环所产生的结果与原始Scilab代码略有不同(这是一长段代码,因此我不会在问题中包含它,但我会尽力在下面总结一下问题). 问题是,循环的每个步骤都使用上一步的计算.另外,计算之间的差异仅在第100,000次迭代(大约300,000次迭代)中才变得明显. 注意:我正在使用"format(25);"将C ++程序的输出与Scilab 5 ..
发布时间:2021-05-08 19:55:47 C/C++开发

在C ++中使用大整数部分处理双精度

我需要在C ++中处理具有大整数部分(例如515876.12//5117789.22)的亚米级坐标,但是四舍五入时遇到了问题: double inUTMX = 560351.12 is displayed as 560351 double inUTMY = 5113570.22 is displayed as 5.11357e+06 我可以在必要时将坐标标准化以进行处理(例如/1e5), ..
发布时间:2020-07-06 02:48:33 C/C++开发

总和除数值问题(处理舍入误差)

我的产品价格为4欧元,我需要将这笔钱分配给3个部门. 在第二列上,我需要获取此产品的行数,然后除以部门数. 我的查询: select department, totalvalue, (totalvalue / (select count(*) from departments d2 where d2.department = p.product)) divid ..
发布时间:2020-07-06 02:48:30 其他开发

用除法和纠正正确的和,以消除舍入误差

使用MySQL数据库用PHP编码的Web应用. 我有一个系统,可以在划分成本时为多个人计算不同的成本.例如,人员A 买了10块东西,而人员B,C和D 应该分摊费用. 为此,系统应为人A 记录10个正记录,而对 B,C和D记录10/3的负记录. 但是,当完成时;四舍五入后, B,C和D 均为-3.33.当然,总数中的哪个不加?解决此问题的最佳方法是什么?最佳解决方案将使获得的人的花 ..
发布时间:2020-07-06 02:48:26 PHP

为什么从最大浮点数到最小浮点数的加法比从最小浮点数到最大浮点数的加法不准确?

我的Java教科书指出,在处理浮点数时,从最大到最小的加法不如从最小到最大的加法精确.但是,他没有继续明确解释为什么会这样. 解决方案 浮点数的精度位数有限(float为6,double为15).计算 1.0e20d + 1 给出结果1.0e20,因为没有足够的精度来表示数字 100,000,000,000,000,000,001 如果您以最大的数字开头,那么任何比n ..
发布时间:2020-07-06 02:48:22 Java开发

gnuplot:如何获得正确的数量级?

这个问题/问题可能与此主题有关 a>. 如果您输入: print log10(1e7),您会得到7.0. print int(log10(1e7)),您会得到7. 但是,如果您键入 print log10(1e6),您会得到6.0. print int(log10(1e6)),您会得到5. 这些可能是与log10有关的舍入错误,无法避免. 因为您键入 ..
发布时间:2020-07-06 02:48:18 其他开发

如何在Javascript中应用C#等效的舍入方法

我正在实现一个混合移动应用程序,其中我必须代表用C#编写的桌面应用程序. 四舍五入一个值时,桌面应用程序和移动应用程序中的值不同. 示例 C#中使用的代码: Math.Round (7060.625, 2); // prints 7060.62 Math.Round (7060.624, 2); // prints 7060.62 Math.Round (7060.626, ..
发布时间:2020-07-06 02:48:15 C#/.NET

numpy回合的方式与python不同

代码 import numpy as np a = 5.92270987499999979065 print(round(a, 8)) print(round(np.float64(a), 8)) 给予 5.92270987 5.92270988 知道为什么吗? 在numpy来源中没有发现任何相关内容. 更新: 我知道,解决此问题的正确方法是以这种差异无关紧要的方 ..
发布时间:2020-07-06 02:48:11 Python

防止R舍入

如何防止R舍入? 例如 > a a [1] 8.93893e+14 我在那里丢失了很多信息.我已经尝试过signif(),但它似乎并没有满足我的要求. 提前谢谢! (这是由于我的一个学生试图确定以一秒数计算一百万像素需要多长时间) 解决方案 这不是四舍五入.这只是打印大号(或小号)的默认格式. a ..
发布时间:2020-07-06 02:48:07 其他开发

是否有数据类型“十进制"?在R中?

我从MySQL表读取以DECIMAL格式存储的数据.我想对R中的这些数字进行计算. 我曾经使用as.numeric()将它们转换为数字表示形式,但是文档中说: 数字等于双精度(实数). 但是R中是否还有数据类型Decimal? (没有舍入错误的数据类型,...) 这里是一个简单的示例,说明存在舍入错误的问题: numbersStrings = c("0.1", "0. ..
发布时间:2020-07-06 02:48:04 其他开发

四舍五入标准-财务计算

对于财务数据的计算是否存在“四舍五入"标准,我感到好奇.我最初的想法是仅在将数据呈现给用户(表示层)时才进行四舍五入. 如果随后将“四舍五入"的数据用于进一步的计算,则应使用“四舍五入"的数字还是“原始"的数字?有人有什么建议吗? 请注意,我知道不同的舍入方法,即银行家舍入等. 解决方案 第一个也是最重要的规则:使用十进制数据类型,从不二进制二进制浮点类型. 何时可以执行 ..
发布时间:2020-07-06 02:48:00 其他开发

防止舍入错误

我只是在阅读有关C ++中的舍入错误的信息.因此,如果我要编写一个数学密集型程序(或任何重要的计算),我应该只将浮点数全部放在一起并且仅使用双精度数还是有一种更简单的方法来防止舍入错误? 解决方案 必修课:每个程序员应了解的浮点算法. 此外,请尝试阅读 IEEE浮点标准. 您总是会遇到舍入错误.除非您使用 infinite 任意精度库,例如 gmplib .您必须确定您的应用程 ..
发布时间:2020-07-06 02:47:57 C/C++开发

C#舍入MidpointRounding.ToEven与MidpointRounding.AwayFromZero

在C#中,两个小数舍入策略MidpointRounding.ToEven和MidpointRounding.AwayFromZero的准确性是否存在差异?我的意思是,这两者都可以确保四舍五入后的数字之间的平均分配,还是一个舍入策略可以更好地代表四舍五入的数字呢? 解决方案 从MSDN: 默认情况下,Math.Round使用MidpointRounding.ToEven.大多数人不熟悉 ..
发布时间:2020-07-06 02:47:53 C#/.NET

舍入毫秒的R问题

鉴于以下问题,在R下将毫秒取整.如何解决这个问题,以确保时间正确? > options(digits.secs=3) > as.POSIXlt("13:29:56.061", format='%H:%M:%OS', tz='UTC') [1] "2012-06-07 13:29:56.060 UTC" > as.POSIXlt("13:29:56.062", format='%H:%M:%O ..
发布时间:2020-07-06 02:47:49 其他开发

如何找到特定机器上的尾数长度?

我想找到特定计算机上的尾数位数和四舍五入单位.我了解它们是什么,但不知道如何找到它们-尽管我知道它们可能因计算机而异. 我需要这个数字才能执行数值分析的某些方面,例如分析错误. 我目前在想的是,我可以编写一个小型的c ++程序来逐渐增加一个数字,直到出现溢出为止,但是我不确定要使用哪种数字. 我在正确的轨道上吗?究竟该如何计算呢? 解决方案 我认为您使用的任何语言都将指定 ..
发布时间:2020-07-01 23:05:23 其他开发

为什么我会得到std :: exp特定于平台的结果?

我有一个程序在Android和Windows下给出了截然不同的结果.当我针对包含预期结果的二进制文件验证输出数据时,即使很小(四舍五入的问题),差异也很烦人,我必须找到一种解决方法. 这是一个示例程序: #include #include #include int main( int argc, char* argv[] ) ..
发布时间:2020-06-14 18:48:27 C/C++开发