Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ruby中的乘法行为不同于普通的算术行为_Ruby On Rails_Ruby_Arithmetic Expressions - Fatal编程技术网

Ruby on rails ruby中的乘法行为不同于普通的算术行为

Ruby on rails ruby中的乘法行为不同于普通的算术行为,ruby-on-rails,ruby,arithmetic-expressions,Ruby On Rails,Ruby,Arithmetic Expressions,关于乘法 puts 8.52*10; #multi 答案是85.199999,而不是85.2。为什么会发生这种情况。简单的答案是没有正好等于85.2的浮点数 理解这一点的一种方法是,浮点数基本上是用以基数2为单位的科学符号表示的 这段视频很好地解释了这一点 浮点数-Computerphile 简单的答案是,没有正好等于85.2的浮点数 理解这一点的一种方法是,浮点数基本上是用以基数2为单位的科学符号表示的 这段视频很好地解释了这一点 浮点数-Computerphile 在Ruby中,解决方法是

关于乘法

puts 8.52*10; #multi

答案是85.199999,而不是85.2。为什么会发生这种情况。

简单的答案是没有正好等于85.2的浮点数

理解这一点的一种方法是,浮点数基本上是用以基数2为单位的科学符号表示的

这段视频很好地解释了这一点

浮点数-Computerphile


简单的答案是,没有正好等于85.2的浮点数

理解这一点的一种方法是,浮点数基本上是用以基数2为单位的科学符号表示的

这段视频很好地解释了这一点

浮点数-Computerphile


在Ruby中,解决方法是使用BigDecimal类存储数字。在Ruby中,解决方法是使用BigDecimal类存储数字。