簡體   English   中英

Ruby:以已格式化的字符串開頭零

[英]Ruby: leading zeros with already formatted string

我不明白為什么會這樣:

s = "000301"
"%06d" % s             ====> "000193"
sprintf("%06d", s)     ====> "000193"

因為它被解釋為八進制數。

在irb中嘗試:

> 0301
=> 193

但是當你寫:

> 301
=> 301

如果要使其工作,請嘗試使用String#to_i將其轉換為整數:

"%06d" % s.to_i
sprintf("%06d", s.to_i)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM