草庐IT

地球科学

全部标签

ruby - 强制 Ruby 不以标准形式/科学记数法/指数记数法输出 float

我遇到了同样的问题here对于python,但对于ruby​​。我需要输出这样一个小数字:0.00001,而不是1e-5。有关我的特定问题的更多信息,我正在使用f.write("Mynumber:"+small_number.to_s+"\n")输出到一个文件对于我的问题,准确性不是什么大问题,所以只做一个if语句来检查是否small_number那么更通用的方法是什么? 最佳答案 f.printf"Mynumber:%.5f\n",small_number您可以将.5(小数点右侧5位数字)替换为您喜欢的任何特定格式大小,例如,%8

ruby - 如何强制 Float 在不使用科学记数法的情况下以完全精确的方式显示,而不是作为字符串显示?

在Ruby中,如何在没有科学记数法的情况下强制显示所有重要位置/完全精确的float?目前我将BigDecimal转换为Float,BigDecimal(0.000000001453).to_f,但这会产生1.453e-09的结果float。如果我执行类似"%14.12f"%BigDecimal("0.000000001453").to_f的操作,我会得到一个字符串。然而,在这种情况下,字符串作为输出是NotAcceptable,因为我需要它作为没有科学记数法的实际数字float。---编辑---好吧,让我在这里提供一些背景信息,这可能需要更改我原来的问题。我正在尝试使用Highsto

ruby - 从 float 中删除科学记数法

我目前正在将两个float相乘:0.0004*0.0000000000012=4.8e-16如何获得正常格式的结果,即没有科学记数法,例如0.0000000000324,然后将其四舍五入为5个数字。 最佳答案 您可以使用stringformatting.a=0.0004*0.0000000000012#=>4.8e-16'%.5f'%a#=>"0.00000"pi=Math::PI#=>3.141592653589793'%.5f'%pi#=>"3.14159" 关于ruby-从floa

ruby - 使用 Ruby 进行科学编程

我使用python或octave进行数学计算,因为手头有非常好的函数和库。但最近我对ruby​​产生了兴趣,我想知道Ruby中是否有与Python中的numpy、scipy等价的用于科学编程的东西。具体来说,我正在寻找可以像在matplotlib中那样绘制绘图并像在numpy和scipy中那样快速进行数学代数计算的东西。 最佳答案 SciRuby正在研究这个。NMatrix和Statsample分别是线性代数和统计最有用的SciRubygem,尽管您可能还会发现这些有用:distribution,minimization,和inte

ruby - 如何将科学计数法字符串转换为十进制计数法?

我想查找并将csv文件中的所有科学记数法字符串转换为十进制记数法,例如:1.0e-05to0.00001我如何在ruby​​中做到这一点? 最佳答案 只需使用字符串转换。必要的强制float将自动完成:"%f"%"1.0e-05"=>"0.000010"#Which,behindthescenesisthesameas:"%f"%"1.0e-05".to_f=>"0.000010"根据需要进行调整以获得或多或少的准确性。例如:"%.5f"%"1.0e-05"=>"0.00001"如果您想要真正的花哨并在末尾砍掉不必要的零,这是一种方

Ruby:以科学记数法控制打印

如果我在Ruby中有一个非常长的float,例如:x=123456789012345.to_f当它显示时,比如说,通过to_s,它以科学记数法出现:"1.23456789012345e+14"有什么方法可以抑制科学记数法的格式化,或者在硬币的另一面,强制它用于极短的float? 最佳答案 您可以使用%operator做各种各样的事情。例如:x=123456789012345.to_f"%f"%x#=>"123456789012345.000000"y=1.23"%E"%y#=>"1.230000E+000"各种选项与sprintf函

Ruby 与计算机科学相关的 yield 特性

我最近发现了Ruby的blocks和yielding特性,我想知道:这在计算机科学理论方面适合什么地方?它是一种函数式编程技术,还是更具体的东西? 最佳答案 Ruby的yield不像C#和Python中的迭代器。一旦您理解了block在Ruby中的工作原理,yield本身实际上是一个非常简单的概念。是的,block是一种函数式编程特性,尽管Ruby并不是一种合适的函数式语言。事实上,Ruby使用方法lambda来创建block对象,这是从Lisp的语法中借来的用于创建匿名函数的——这就是block。从计算机科学的角度来看,Ruby的

javascript - 有没有办法在 Javascript 中 chop 科学记数法?

众所周知,因为它是SO上最常被问及的主题之一,所以我遇到了舍入错误的问题(这实际上不是错误,我很清楚)。我将不解释我的观点,而是举例说明我可能拥有的数字以及我希望能够获得的输入:假设vara=15*1e-9;alert(a)输出1.5000000000000002e-8我希望能够获得1.5e-8,但我不能只乘以10e8,舍入并除以10e8,因为我不知道它是e-8还是e-45或其他任何内容。所以基本上我希望能够获得1.5000002部分,应用toFixed(3)并放回指数部分。我可以转换成字符串并解析,但它似乎不对...有什么想法吗?(如果你觉得这是许多重复的问题之一,我提前道歉,但我找

javascript - 谷歌地图 API JS 上的 3D 地球地球仪

简短的问题:有没有办法用googlemapswebAPI来表示3D地球?关于googlemaps,我们现在可以将地球想象成一个3D球体。这是一个例子:我正在使用googlemapsAPI开发一个HTML项目,我想在我的网站上使用这个地球表示。但是,我没有找到关于这个主题的任何主题。有没有一种方法可以像在googlemapswebsite上那样用googlemapsAPI来表示3D地球球体?3D?这是我的map示例(当然是我的代码摘录以澄清问题):varmap;functioninitMap(){map=newgoogle.maps.Map(document.getElementById

javascript - THREE.js 光线转换对单个> 500k 多边形(面)对象非常慢,线与地球相交

在我的项目中,我有一个玩家在地球上行走。地球不仅仅是一个球体,它还有山脉和山谷,所以我需要改变玩家的z位置。为此,我从玩家的位置向单个物体(地球)转换一条光线,我得到它们相交的点并相应地改变玩家的位置。我只在玩家移动时进行光线转换,而不是在每一帧上。对于一个复杂的对象,它需要永远。具有~1m多边形(面)(1024x512分段球体)的对象需要~200ms。光线转换是否针对每张脸?是否有一种传统的快速方法可以在三中实现这一点,比如一些加速结构(八叉树?bvh?——老实说,从我的谷歌搜索中我似乎没有发现三中包含这样的东西)或其他一些想法-开箱即用(无光线转换)方法?vardir=g_Game