-
ruby不会乘除法了,这是ruby1.9.3的bug吗?5
环境ruby1.8.7下
irb(main):002:0> 0.011*100
=> 1.1
这是正常的。
而在环境ruby1.9.3下
irb(main):008:0> 0.011*100
=> 1.0999999999999999
0.011 * 1000都不会有错,为什么乘100就出错呢?
有哪位大侠能指点一下吗?2013年1月18日 21:20
2个答案 按时间排序 按投票排序
-
采纳的答案
用基于二进制的浮点数表示十进制小数,结果不正常才是正常的。所有使用IEEE 754浮点数标准的语言都有这个问题,跟Ruby本身无关。
irb(main):001:0> 0.5-0.4
=> 0.09999999999999998
irb(main):002:0> 0.4-0.3
=> 0.10000000000000003
scala> 0.5-0.4
res0: Double = 0.09999999999999998
scala> 0.4-0.3
res1: Double = 0.10000000000000003
2013年1月19日 06:15
-
1. 输出时四舍五入到实际需要的精度
2. 判断相等时不要用x == y,改用(x-y) < 1e-6 (假定你需要的精度是小数点后6位)2013年1月19日 11:28
相关推荐
在1.9.3这个版本中,Ruby引入了诸多改进和性能提升,对于开发人员来说,它是一个可靠的工具,适用于Web开发、自动化脚本、系统管理等多种用途。 首先,让我们深入了解Ruby 1.9系列的重要特性。1.9版本相对于之前的...
至于压缩包中的"ruby-1.9.3-p327",这是Ruby 1.9.3的一个具体发行版,其中可能包含了源码、编译工具、文档以及其他必要的文件,方便用户在不同平台上安装和使用Ruby 1.9.3。通常,开发者会通过解压这个文件,然后...
1.9.3?cp27?cp27m?win32.whl pygame?1.9.3?cp27?cp27m?win_amd64.whl pygame?1.9.3?cp34?cp34m?win32.whl pygame?1.9.3?cp34?cp34m?win_amd64.whl pygame?1.9.3?cp35?cp35m?win32.whl pygame?1.9.3?cp35?cp35m?win_...
ruby1.9.3版本
总的来说,"ruby-1.9.3-p547.tar.gz"是Ruby编程语言的一个历史版本,对于那些需要兼容旧项目或者研究历史版本特性的开发者来说,这是一个重要的资源。通过学习和使用这个版本,你可以深入了解Ruby的语法、特性以及...
在描述中提到的“覆盖C:\Ruby193\lib\ruby\gems\1.9.1”,这是Ruby 1.9.3中Gem的默认安装路径。这个路径下的结构通常如下: - gems:存放已安装的Gem的目录,每个Gem都有自己的子目录。 - specifications:存储Gem的...
首先,Ruby 1.9.3 对Ruby的编码支持进行了重大改进,特别是对UTF-8编码的全面支持,这使得开发者可以处理各种国际化文本,而不用担心字符编码问题。此外,这个版本还增强了对多线程的支持,虽然Ruby的全局解释器锁...
rubyinstaller-1.9.3-p125.exe
Since its public release in 1995, Ruby has drawn devoted coders worldwide. In 2006, Ruby achieved mass acceptance. With active user groups formed in the world’s major cities and Ruby-related ...
RubyInstaller-1.9.3-p385.exe是该版本的安装程序文件,用户只需运行这个可执行文件,就可以在Windows系统上轻松安装Ruby 1.9.3 p385。安装过程中,RubyInstaller会自动配置环境变量,使Ruby可直接在命令行中使用,...
Ruby installer 1.9.3 .exe new sass
ruby 1.9.3 source code
标题中的"ruby-1.9.3-p551.tar.gz"表明这是一个使用Ruby编程语言的特定版本,即1.9.3-p551,它被打包成一个gzip压缩的tar档案。Ruby是一种面向对象的、动态类型的脚本语言,广泛用于Web开发、服务器端脚本以及各种...
这个“ruby-1.9.3-preview1.zip”文件是一个预览版的安装包,供开发者在正式版本发布前进行测试和评估。在深入探讨这个版本之前,我们先来了解一下 Ruby 语言的基本概念。 Ruby 是一种面向对象的、动态类型的编程...
这是什么规格? 此规范是为了在基于RHEL的系统上推动以1.9.3+稳定地替换Ruby1.8.x。 我基于Ruby 1.9.3和Ruby Enterprise Edition的规范进行工作。如何安装RHEL / CentOS 5/6 yum install -y rpm-build rpmdevtools ...
在 Windows 平台下一步安装 Ruby-1.9.3
标题中的"ruby-1.9.3-p125.tar.gz"揭示了我们要讨论的是一个特定版本的Ruby编程语言——1.9.3的p125补丁级别。Ruby是一种面向对象的、动态类型的脚本语言,由Yukihiro Matsumoto(Matz)在1995年创建。它以其简洁、...
ruby安装包1.9.3 p392 ruby简单的脚本语言