【发布时间】:2015-07-27 22:42:36
【问题描述】:
我对双变量中的大数字有疑问。想象一下,我有 3 个这样的数字:
124.556321466120.001.79769313486232E+308
我只想识别第 2 项或浮点数后没有任何有价值数字的数字。换句话说,这些数字可以是整数,并且数字的长度不一样。
另外两件事:
- 我不想将它们转换为字符串,因为这对 CPU 来说非常耗时。
- 我无法将它们转换为整数,因为我需要所有数字。
【问题讨论】:
-
只需将双精度转换为整数即可“识别”它。然后从 double 中减去整数并检查绝对结果是否小于 epsilon 值。
-
第三个数字也是一个整数,但超出了大多数有限范围整数类型的范围。你想把它当作一个整数吗?
-
另外,什么语言?我会在不同的语言中使用不同的方法。
-
抱歉,在 c# 中使用类型转换我会丢失很多数字,对吗?
标签: c# floating-point double bignum