当前位置: 首页 > 面试题库 >

使用双精度最多两个小数位

松智勇
2023-03-14
问题内容

我想使用双精度最多2个小数位。即,它将最多存储2个小数位,如果比较两个双精度值,则比较应仅基于前2个小数位。如何实现这样的事情?我的意思是存储,比较所有内容都将仅基于小数点后两位。其余位置可能不同,大于,小于,无所谓。

编辑 我的价值观不大。说从0到5000最大值。但是我必须乘以Cos A,Sin A很多次,其中A的值在程序过程中不断变化。

编辑 在我的程序中,汽车以特定速度(例如12 m /
s)行驶。现在,每隔几分钟,汽车就会改变方向,例如选择一个新角度并开始沿该方向直线移动。现在每次移动时,我都必须在地图上找出其x和y位置。这将是currentX
+ velocity * Cos A和currentY + Velocity * SinA。但是由于这种情况经常发生,所以随着时间的推移会出现很多累积误差。如何避免呢?


问题答案:

比较浮点值是否相等应始终使用某种形式的delta / epsilon比较:

if (Abs(value1 - value2) < 0.01 )
{
   // considered equal to 2 decimal places
}


 类似资料:
  • 问题内容: 目前我有这种方法: 但是此方法失败的原因可能是因为我在2的基础上进行了10的数学计算。 那么如何才能正确完成此检查? 我想到了获取double值的字符串表示形式,然后使用正则表达式进行检查-但这感觉很奇怪。 编辑: 感谢所有的答案。在某些情况下,我确实获得了双倍奖励,对于这些情况,我实现了以下目标: 我将其更改为截断。似乎计算完成会大大增加不准确性。至少在失败的测试用例中。 正如你们中

  • 问题内容: 应该很容易。我本来是用javascript来做的,但是在设置我的处理程序页面中的表单之前必须先做。无论如何,我需要使这些值具有2个小数位。Ex 219333.5888888必须为219333.58。有修剪功能或其他功能吗? 问题答案: 这是格式化十进制值的简单示例

  • 我想用一个小数点和一个小数位的格式将任何双精度四舍五入为双精度,这样29575.347434将是2.3。 我试着用decimalFormat做这个,但当我试着我只得到了一个29575.3格式的字符串,带有一个,我不知道如何在保留值为双精度的同时去掉所有小数点。

  • 标题中说了一切。我想转换字符串中的双2小数。 我尝试了夸克斯的例子: 这是我的模板 但它总是导致NOT_FOUND。 唯一的方法是把: 并更改我的模板: 有更好的办法吗?我使用了quarkus rest easy qute和quarkus qute扩展,两者都是相同的。

  • 问题内容: 我试图确定双精度的最大精度是多少。在此链接的可接受答案的注释中,Java中的double保持精度 @PeterLawrey将max precision设置为15。 您如何确定呢? 问题答案: @PeterLawrey表示最大精度为15。 实际上,这根本不是他所说的。他说的是: 双精度有15个小数位 他错了。它们的精度为15个十进制 数字 。 任何数字中的小数位数由其对数10的对数给出。

  • 我试图确定double的最大精度是多少。在这个链接中接受的答案的注释中,Java中的Retain precision with double@PeterLawrey声明max precision In 15。 你如何确定这一点?