45、Ruby 中的数值处理、随机数生成与正则表达式应用

Ruby 中的数值处理、随机数生成与正则表达式应用

1. 银行家舍入法的原理

在处理大量数字求和时,我们希望无论在何处进行数值舍入,总和基本保持不变。传统舍入法中,中间值向上舍入,这往往导致舍入后的数字总和比直接截断的相同数字集合的总和要高,使得舍入后的总和准确性降低。而银行家舍入法中,中间值向上或向下舍入的可能性大致相等,因此舍入后的数字总和相对于截断总和没有偏差。

2. Ruby 中的随机数生成

2.1 Kernel#rand 方法

Ruby 提供了多种生成随机数的方法,最简单的是 Kernel#rand(max = 0) 方法。由于它在 Kernel 中可用,因此可以随时调用 rand
- 若不传入参数,将得到一个大于等于 0 且小于 1 的伪随机浮点数。
- 若传入一个大于等于 1 的整数参数,则会得到一个大于等于 0 且小于该参数的伪随机整数,例如 rand(1) 始终等于 0。
- 非整数参数会使用 to_i.abs 进行转换,这意味着负参数将返回正值,浮点参数将被截断。若 arg.to_i.abs 等于 0,则 rand 会恢复为无参数的行为。
- 若参数是一个范围, rand 会返回该范围内的值。若范围的两端都是整数,结果将是整数;若任一端是浮点数,结果也将是浮点数。

2.2 Kernel#srand 方法

有时我

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值