- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在制作一个应用程序,它正在监听定期更新的价格,但偶尔我的数据源会抛出类似“1.79769313486232e+308”的信息。发送的数字永远不会是非常大的数字(例如“179769313486232e+308”),但与上面的示例一样,它们非常精确。
我很乐意在前几位小数后删除所有内容,并以“1.798”之类的结尾,但以下代码对我不起作用:
irb(main):001:0> s = '1.79769313486232e+308'
=> "1.79769313486232e+308"
irb(main):002:0> ("%.3f" % s).to_f
(irb):2: warning: Float 1.79769313486232e+30... out of range
=> 0.0
有什么优雅的方法可以在 Ruby 中处理这类数字?
最佳答案
您需要从数据源中找出那些非常大的数字的含义。价格实际上不是 1.797e+308,但也可能不是 1.797。您如何处理这些数字完全取决于您应该将它们解释为什么值。
更新:我不确定您是否理解这个数字的含义。 1.79769313486232e+308 是 1.79769313486232 乘以 10 的 308 次方。是小数点左边300多位的数字。这不是价格,这是一个错误。它是 double float 所能表示的上限。
换句话说,您得到的是 0xFFFFFFFF 或类似的东西,但被解释为 float 。
关于ruby - 在 Ruby 中处理大量(高精度) float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3463293/
我正在使用 numpy 和 pyfits 来操作光谱,我需要高精度(大约 8-10 位小数的值可能高达 10^12)。为此,数据类型“decimal”将是完美的(float64 不够好),但不幸的是
我似乎不知道如何向 html5 地理定位添加高精度和监视位置。我希望 GPS 随着用户的移动而更新。有人可以帮忙吗? if(navigator.geolocation) { n
我正在尝试比较搜索算法的执行时间,任何人都可以帮助我编写代码,我的问题在于执行时间,我使用的总是 0.00000 秒。 调用二分查找的示例: //BINARY SEARCH clock_t start
您能告诉我如何在 Win32 和 Linux 上的 Python2.6 中获得高精度 sleep 功能吗? 最佳答案 您可以在 sleep() 中使用 float : The argument may
我正在制作一个应用程序,它正在监听定期更新的价格,但偶尔我的数据源会抛出类似“1.79769313486232e+308”的信息。发送的数字永远不会是非常大的数字(例如“179769313486232
我在一个 2D 游戏引擎上工作,它有一个名为 LimitFrameRate 的函数来确保游戏不会运行得太快以至于用户无法玩游戏。在这个游戏引擎中,游戏的速度与帧率有关。所以通常人们希望将帧速率限制在
我已经通过 tf.keras 使用谷歌 BERT 训练了一个文本分类器。 我的数据集包含 50,000 行数据,均匀分布在 5 个标签上。这是一个更大数据集的子集,但我选择了这些特定标签,因为它们彼此
我是一名优秀的程序员,十分优秀!