在Ruby中,數(shù)據(jù)類型轉(zhuǎn)換是一個常見的操作
字符串轉(zhuǎn)整數(shù):使用to_i
方法將字符串轉(zhuǎn)換為整數(shù)。如果字符串不能轉(zhuǎn)換為整數(shù),將返回0。
str = "123"
int_value = str.to_i # 123
整數(shù)轉(zhuǎn)字符串:使用to_s
方法將整數(shù)轉(zhuǎn)換為字符串。
int_value = 123
str_value = int_value.to_s # "123"
字符串轉(zhuǎn)浮點(diǎn)數(shù):使用to_f
方法將字符串轉(zhuǎn)換為浮點(diǎn)數(shù)。如果字符串不能轉(zhuǎn)換為浮點(diǎn)數(shù),將返回0.0。
str = "123.45"
float_value = str.to_f # 123.45
浮點(diǎn)數(shù)轉(zhuǎn)字符串:使用to_s
方法將浮點(diǎn)數(shù)轉(zhuǎn)換為字符串。
float_value = 123.45
str_value = float_value.to_s # "123.45"
布爾值轉(zhuǎn)整數(shù):使用to_i
方法將布爾值轉(zhuǎn)換為整數(shù)。true
轉(zhuǎn)換為1,false
轉(zhuǎn)換為0。
bool_value = true
int_value = bool_value.to_i # 1
布爾值轉(zhuǎn)浮點(diǎn)數(shù):使用to_f
方法將布爾值轉(zhuǎn)換為浮點(diǎn)數(shù)。true
轉(zhuǎn)換為1.0,false
轉(zhuǎn)換為0.0。
bool_value = true
float_value = bool_value.to_f # 1.0
數(shù)組轉(zhuǎn)字符串:使用join
方法將數(shù)組轉(zhuǎn)換為字符串。
array = [1, 2, 3]
str_value = array.join # "123"
哈希轉(zhuǎn)字符串:使用inspect
方法將哈希轉(zhuǎn)換為字符串。
hash = {a: 1, b: 2, c: 3}
str_value = hash.inspect # "{:a=>1, :b=>2, :c=>3}"
正則表達(dá)式轉(zhuǎn)字符串:使用inspect
方法將正則表達(dá)式轉(zhuǎn)換為字符串。
regex = /ruby/
str_value = regex.inspect # "/ruby/"
時間轉(zhuǎn)字符串:使用strftime
方法將時間轉(zhuǎn)換為字符串。
time = Time.now
str_value = time.strftime("%Y-%m-%d %H:%M:%S") # "2021-09-01 12:34:56"(具體格式根據(jù)需求調(diào)整)
這些是Ruby中常見的數(shù)據(jù)類型轉(zhuǎn)換技巧。在實(shí)際編程過程中,根據(jù)需要選擇合適的方法進(jìn)行轉(zhuǎn)換。