Zub*_*Man 4 ruby integer digit
我正在制作一个程序,要求我读入并验证一个数字,但这样做我需要取一个两位数的整数(例如我们会说18)并将它加1 + 8.现在我有它的工作在哪里我做一个条件检查,如果它大于10并减去,但在我看来这是一种丑陋的解决方案,并想知道是否有更清洁的方法吗?
San*_*osh 12
您可以使用模运算符 n % 10.例如:
18 % 10
# => 8
9 % 10
# => 9
0 % 10
# => 0
(-123).abs % 10
# => 3
Run Code Online (Sandbox Code Playgroud)
编辑
Ruby 2.4有一个Integer#digits方法.所以你可以做到
123.digits
# =>[3, 2, 1]
123.digits.first
# => 3
123.digits.sum
# => 6
Run Code Online (Sandbox Code Playgroud)
整数#digits方法将为您提供数字作为数组,从单位的位置开始.如果你想处理负数,请使用整数#abs
18 % 10
# => 8
9 % 10
# => 9
0 % 10
# => 0
(-123).abs % 10
# => 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6273 次 |
| 最近记录: |