草庐IT

is_floating_point

全部标签

ruby - 截断 float 而不向上舍入

我有一个float,我想截断到3个位置,但我不想四舍五入。例如,将1.0155555555555555转换为1.015(而不是1.016)。我将如何在Ruby中执行此操作? 最佳答案 您还可以转换为BigDecimal,然后对其调用truncate。1.237.to_d.truncate(2).to_f#willreturn1.23 关于ruby-截断float而不向上舍入,我们在StackOverflow上找到一个类似的问题: https://stackov

ruby-on-rails - ruby /rails : How to determine if module is included?

在这里扩展我的问题(ruby/rails:extendingorincludingothermodules),使用我现有的解决方案,确定我的模块是否包含在内的最佳方法是什么?我现在所做的是在每个模块上定义实例方法,这样当它们被包含时,一个方法就可用,然后我只是向父模块添加一个捕获器(method_missing())所以如果它们不包括在内,我可以catch。我的解决方案代码如下:moduleFeaturesFEATURES=[Running,Walking]#includeFeatures::RunningFEATURES.eachdo|feature|includefeatureen

ruby - Windows 7 中的 "ruby.exe is not recognized as an internal or external command"

我的操作系统是windows7,我正准备将我的本地MySQL数据库连接到Heroku共享数据库,有一次,我得到了libmysql.dll文件丢失的错误,所以我搜索并下载了dll文件并保存它在ruby​​/bin目录中。当我再次连接时,这次它显示错误ruby​​.exe未被识别为内部或外部命令,这就是错误的样子。发送模式'"ruby.exe"'isnotrecognizedasaninternalorexternalcommand,TA:--:--:--operableprogramorbatchfile.'"ruby.exe"'isnotrecognizedasaninternalor

ruby-on-rails - rails "is not a module"错误

我在“lib”rails目录中构建了一个库。库的结构是这样的:lib/insurance/broker/fake_broker.rb该类类似于以下示例:moduleInsurancemoduleBrokerclassFakeBrokerdefinitialize(user_id,user_secret)@user_id=user_id@user_secret=user_secretendendendend因此,在我的result_controller中,我这样做:require'insurance/broker/fake_broker'defshowbroker=Insurance::

ruby-on-rails - Rails : render doesn't work, 仍然得到 `Template is missing`

我目前正在学习Rails指南。我完成了这些步骤,但仍然遇到错误。我的Ruby版本是ruby2.1.1p76,Rails版本是4.0.4。按照指南的指示,我创建了一个ArticleController。classArticlesController我应该得到{"title"=>"Firstarticle!","text"=>"Thisismyfirstarticle."但输出结果是TemplateismissingMissingtemplatearticles/create,application/createwith{:locale=>[:en],:formats=>[:html],:

ruby - 将 ruby float 向上或向下舍入到最接近的 0.05

我得到像这样的数字2.363636363636364.5675631.23456646544846510.5857447736我如何让Ruby将这些数字向上(或向下)舍入到最接近的0.05? 最佳答案 [2.36363636363636,4.567563,1.23456646544846,10.5857447736].mapdo|x|(x*20).round/20.0end#=>[2.35,4.55,1.25,10.6] 关于ruby-将rubyfloat向上或向下舍入到最接近的0.05

如果整数,则 Ruby 将 float 舍入为 int

在ruby​​中,如果float是整数,我想将其转换为int。例如a=1.0b=2.5a.to_int_if_whole#=>1b.to_int_if_whole#=>2.5基本上,我试图避免在任何没有小数的数字上显示“.0”。我正在寻找一种优雅的(或内置的)方式来做defto_int_if_whole(float)(float%1==0)?float.to_i:floatend 最佳答案 一个简单的方法是:classFloatdefprettifyto_i==self?to_i:selfendend那是因为:irb>1.0==1=

ruby - 检查 Float 是否等同于 Ruby 中的整数值

假设我有以下代码:x=0.8y=1.0检查y是否等同于Integer的最佳方法是什么?目前我在做:y.to_int==y这行得通,但我觉得应该有更好的方法。 最佳答案 您用1mod值,并检查该值是否等于0。ify%1==0 关于ruby-检查Float是否等同于Ruby中的整数值,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5083202/

ruby - "RVM is not a function"错误

RVM已正确安装在我的机器上(运行MacOSX10.6.8)并且运行良好。奇怪的是,要运行它,我必须为每个新session使用source~/.rvm/scripts/rvm。我尝试从它创建一个符号链接(symboliclink)到/opt/local/bin/rvm,但是当它运行时它什么也不做。我还尝试创建一个从~/.rvm/bin/rvm到/opt/local/bin/rvm的符号链接(symboliclink),当我运行rvm在终端中,它会按预期显示帮助页面。但是当我尝试rvmusesome_ruby_version时,它总是显示“RVM不是一个函数,选择带有‘rvmuse...

ruby - 错误 : Gem bundler is not installed, 首先运行 `gem install bundler`

您好,我一直在尝试安装Rubygem包。收到此消息后,我按照geminstallbundle的说明进行操作,但是当我键入bundle-v时它仍然不起作用。我也打字捆绑并接收/Users/edmundmai/.rvm/bin/bundle所以它存在!!那么为什么它不起作用!我没有得到的神秘$PATH有什么问题吗?(我是菜鸟)。这是我的.bash_profile:PATH=$PATH:~/binexportPATH[[-s"$HOME/.rvm/scripts/rvm"]]&&source"$HOME/.rvm/scripts/rvm"#LoadRVMintoashellsession*a