التابع Time.round
في روبي
يُقرّب التابع round
الأجزاء العشرية من الثواني وفق دقة معينة من المنازل العشرية للتوقيت الذي استدعي معه.
البنية العامة
round([ndigits])→ new_time
المعاملات
ndigits
يحدد عدد المنازل العشرية. يجب أن يكون هذا المعامل عددًا صحيحًا موجبًا. القيمة الافتراضية هي: 0.
القيمة المعادة
يعاد توقيتٌ جديدٌ يحوي التوقيت المعطى بعد تقريب أجزاء الثانية فيه بدقة ndigits
.
أمثلة
مثال على استخدام التابع round
:
require 'time'
t = Time.utc(2010,3,30, 5,43,"25.123456789".to_r)
p t.iso8601(10) #=> "2010-03-30T05:43:25.1234567890Z"
p t.round.iso8601(10) #=> "2010-03-30T05:43:25.0000000000Z"
p t.round(0).iso8601(10) #=> "2010-03-30T05:43:25.0000000000Z"
p t.round(1).iso8601(10) #=> "2010-03-30T05:43:25.1000000000Z"
p t.round(2).iso8601(10) #=> "2010-03-30T05:43:25.1200000000Z"
p t.round(3).iso8601(10) #=> "2010-03-30T05:43:25.1230000000Z"
p t.round(4).iso8601(10) #=> "2010-03-30T05:43:25.1235000000Z"
p t.round(5).iso8601(10) #=> "2010-03-30T05:43:25.1234600000Z"
p t.round(6).iso8601(10) #=> "2010-03-30T05:43:25.1234570000Z"
p t.round(7).iso8601(10) #=> "2010-03-30T05:43:25.1234568000Z"
p t.round(8).iso8601(10) #=> "2010-03-30T05:43:25.1234567900Z"
p t.round(9).iso8601(10) #=> "2010-03-30T05:43:25.1234567890Z"
p t.round(10).iso8601(10) #=> "2010-03-30T05:43:25.1234567890Z"
t = Time.utc(1999,12,31, 23,59,59)
p((t + 0.4).round.iso8601(3)) #=> "1999-12-31T23:59:59.000Z"
p((t + 0.49).round.iso8601(3)) #=> "1999-12-31T23:59:59.000Z"
p((t + 0.5).round.iso8601(3)) #=> "2000-01-01T00:00:00.000Z"
p((t + 1.4).round.iso8601(3)) #=> "2000-01-01T00:00:00.000Z"
p((t + 1.49).round.iso8601(3)) #=> "2000-01-01T00:00:00.000Z"
p((t + 1.5).round.iso8601(3)) #=> "2000-01-01T00:00:01.000Z"
t = Time.utc(1999,12,31, 23,59,59)
p (t + 0.123456789).round(4).iso8601(6) #=> "1999-12-31T23:59:59.123500Z"