Ruby- 帮助将 4 位数年份输入转换为 2 位数输出

Ruby- Help converting 4 digit year input into 2 digit output

到目前为止我有。

puts "Enter year:"
year = gets.chomp.to_i
res = year %2 100
puts "Welcome to '#{year}"

我哪里错了?

好吧,您需要稍微更新一下代码示例,试试这个:

 puts "Enter year:"
 year = gets.chomp.to_i  # 4 digits year like 2022
 res = year % 100 # 2 digits year like 22
 puts "Welcome to '#{res}"

我认为你混淆了两件事:

  1. 获取年份的“最后一部分”(模 100):year % 100,其中 % 是模运算符。

  2. 并使用前导零打印出 2 位数字的值:"%02d" % value,其中 % 是不同的运算符,用于分隔模板字符串及其参数。

你应该结合这些东西:

year = 2002
res = "%02d" % (year % 100)
puts res
# 02

其他人已经指出了您具体代码的大部分问题,所以我不会这样做。不过,我确实想建议您甚至不需要转换为 integer 或使用 modulo。您应该能够简单地使用字符串并获取最后 2 个字符:

year = gets.chomp
puts "Welcome to '#{year[-2..-1]}"
#=>  Welcome to '22