首页 > 其他 > 详细

Ruby数学运算(当运算结果涉及到小数时)

时间:2015-12-18 16:04:53      阅读:433      评论:0      收藏:0      [点我收藏+]

一、首先来思考以下几个数学表达式的运算结果:

puts 3+2+1-5+4%2-1/3+6 #表达式1
puts 3+2+1-5+4%2-1.00/3.00+6  #表达式2
puts 3+2+1-5+4%2-1.0/3.0+6 #表达式3
puts 3+2+1-5+4%2-1/3+6.00 #表达式4

 

二、执行后结果如下:

7
6.666666666666667
6.666666666666667
7.0

 

三、分析

  • 表达式1中所有参与运算的数都是整数,即便(1/3)的计算结果为小数,最终的运算结果也是整数(1/3的结果被四舍五入为0)
  • 表达式2中除法(/)运算的参与者是小数,且带有2位小数,最终的运算结果却带有15位小数
  • 表达式3中除法(/)运算的参与者是小数,且带有1位小数,最终的运算结果却带有15位小数
  • 表达式4中只有最后一个参与者是小数,且带有2位小数,整个表达式中运算结果为小数的部分(1/3)的参与者都是整数,因此这部分和表达式1一样被四舍五入为0,最终的结果是7,因为表达式中存在小数,最后的结果也需为小数,又因为计算结果是整数,最终只带有一个小数位。

四、结论

由以上可以得出结论:

1、若参与者都是整数,最终的结果是整数,按照四舍五入的原则进行计算。

2、若参与者是小数,无论参与者带有几位小数,若最终结果为整数,则只保留一位小数;若最终结果部位整数,则按实际情况保留相应的小数位,但最多保留15位小数位,最后一位按四舍五入原则计算。

 

如有错误,欢迎指正,一定虚心改正!

Ruby数学运算(当运算结果涉及到小数时)

原文:http://www.cnblogs.com/dongguniang/p/5057061.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!