当前位置:  开发笔记 > 编程语言 > 正文

哪个是比较两个非整数的整数部分的最佳方法?

如何解决《哪个是比较两个非整数的整数部分的最佳方法?》经验,为你挑选了1个好方法。

我需要比较两个双精度的整数部分的不等式,我现在正在这样做:

int iA = (int)dA;
int iB = (int)dB;

if( iA != iB )
{
    ...
}

但我想知道是否有比这更好的方法.

谢谢.

如果我使用Math.Truncate()而不是使用强制转换为int,那么将两个得到的双精度值进行比较仍然是准确的吗?

关于匈牙利符号评论:

我自己从不使用HN,至少不像大多数人那样.但这是一种罕见的情况,其中变量的语义与其类型直接相关.我本可以选择另一种语法,如A_As_Integer和B_As_NonInteger,但那会有什么区别呢?



1> biozinc..:

使用Math.Truncate()即

if (Math.Truncate(x) == Math.Truncate(y))

[编辑]意识到如果你要比较双精度的整数部分,如果你的双精度超出可以表示为int的范围,则转换为int值会首先冒溢出的风险.

Truncate返回Decimal或double,避免此问题.

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有