分割整数和插入符号在Ruby on Rails



我在Rails中使用erb模板,我想将整数分成两半,并在它们之间放置符号。

@user.number = 99999999999

我想这样显示:999999 - 99999。如何在第六个字符后显示- ?

试试这个:

<% @number = @user.number.to_s %>
<%= @number[0..5] %> - <℅= @number[6..10] %>

我不太理解将-符号精确地放在第六位数字之后的目的,但是如果您只是在寻找一些人类可读的大数表示,您可以使用Rails数字助手。这里有各种各样的方法,仅举几个:

number_to_human(1234567890123456)
# => "1.23 Quadrillion"
number_with_delimiter(12345678, delimiter: ",")
# => 12,345,678

您可以在模型中设置方法,也可以在帮助器中设置方法。

class User < ActiveRecord::Base
 def number_to_ssn
  number.to_s.scan(/{.1,6}/}.join(' - ')
 end
end

module UsersHelper
 def ssn_for(user)
  user.number.to_s.scan(/{.1,6}/).join(' - ')
 end
end

并在视图中调用它:

<%= @user.number_to_ssn %>
<%= ssn_for(@user) %>

最新更新