我有一个必须在用户界面上显示的双精度值。现在的条件是double的十进制值=
0,例如。-14.0在这种情况下,我必须仅在UI上显示14。另外,此处字符的最大限制为5。
例如:-12.34整数值不能大于2位,所以double的十进制值也不能大于2位。
最好的方法是什么?
你可以做
d % 1 == 0
检查是否double d
整体。
问题内容: 目前我有这种方法: 但是此方法失败的原因可能是因为我在2的基础上进行了10的数学计算。 那么如何才能正确完成此检查? 我想到了获取double值的字符串表示形式,然后使用正则表达式进行检查-但这感觉很奇怪。 编辑: 感谢所有的答案。在某些情况下,我确实获得了双倍奖励,对于这些情况,我实现了以下目标: 我将其更改为截断。似乎计算完成会大大增加不准确性。至少在失败的测试用例中。 正如你们中
问题内容: 比较两个浮点值以实现完全相等的一种优雅,易读且不冗长的方法是什么? 听起来很简单,但这是一个严重的问题。该运营商没有得到楠所做的工作,也有特殊待遇的零: 但我想,以确定是否两个值是完全一样的(但我 不 关心不同的NaN模式,所以任何的NaN ==任何其他男- >真)。 我 可以 使用这段丑陋的Monster代码 来 做到这一点: 有没有更好的方法来编写此代码(并使意图显而易见)? 问题
问题内容: 我有一些这样的代码: 我基本上希望将来避免除以零的异常。 谢谢 问题答案: 如果未显式初始化,则类范围内的数字基元将初始化为零。 必须显式初始化局部范围内的数字基元(方法中的变量)。 如果您只担心被零例外除,那么检查双精度数是否不 完全 为零非常有用。 否则, 当检查浮点值是否为或时为0时,将使用错误阈值来检测该值是否接近0,但不 完全为 0。
问题内容: 是否有可能做到这一点? 我知道代码可能不会去这样的事情,但怎么也去了? 问题答案: 这将检查双精度值的四舍五入值是否与双精度值相同。 你的变量可能具有或值,并且始终具有int值,因此,如果你的变量等于,则它必须具有int值。 如果变量的值是无穷大或负无穷大,那么这也不起作用,因此向条件添加“只要变量不是无穷大”。
问题内容: 我正在尝试快速分隔双精度数的十进制和整数部分。我尝试了多种方法,但是它们都遇到了相同的问题… 有没有一种方法可以获取0.5678而不是0.567800000000034,而无需将数字转换为字符串? 问题答案: 无需将其转换为字符串,您可以将舍入到小数点后的位数,如下所示: 您的输出将是 0.5678
问题内容: 我正在编写一个简单的Java程序。我需要从输入中获取一个字符串并将其分为两部分:1-double 2-string。然后,我需要对double进行简单的计算,并将结果发送到具有特定精度的输出(4)。它工作正常,但是当输入为0时出现问题,则不能正常工作。 例如,对于这些输入,输出将是: 1公斤 输出:2.2046 3.1公斤 输出:6.8343 但是当输入为0时,输出应为0.0000,但