[#48044] Re: ruby 1.9.2とRails3 へのアップグレード — "Endo Akira" <endo4917@...>

アスカルさん

12 messages 2011/05/04
[#48045] Re: ruby 1.9.2とRails3 へのアップグレード — "Y. NOBUOKA" <nobuoka@...> 2011/05/04

アスカルさん

[#48062] 小数点つき時刻情報とTime#parse — Mitsuo KASAHARA <m.kasahara13@...>

笠原ともうします。

18 messages 2011/05/09
[#48068] Re: 小数点つき時刻情報とTime#parse — Tanaka Akira <akr@...> 2011/05/09

2011年5月9日10:29 Mitsuo KASAHARA <m.kasahara13@gmail.com>:

[#48070] Re: 小数点つき時刻情報とTime#parse — EGUCHI Osamu <eguchi@...> 2011/05/09

えぐち@エスアンドイーです

[#48072] Re: 小数点つき時刻情報とTime#parse — Tanaka Akira <akr@...> 2011/05/09

2011年5月9日13:43 EGUCHI Osamu <eguchi@sandeinc.com>:

[#48092] 後継者募集 — MoonWolf <moonwolf@...>

MoonWolfです。

22 messages 2011/05/22
[#48095] Re: 後継者募集 — Youhei SASAKI <uwabami@...> 2011/05/23

MoonWolf 様: 佐々木と申します.

[#48096] Re: 後継者募集 — MoonWolf <moonwolf@...> 2011/05/23

MoonWolfです。

[ruby-list:48062] 小数点つき時刻情報とTime#parse

From: Mitsuo KASAHARA <m.kasahara13@...>
Date: 2011-05-09 01:29:36 UTC
List: ruby-list #48062
笠原ともうします。

小数点付きの時刻情報を Time#parse で時間差を計算していたところ、間欠で
微妙な出力が発生した為、ご相談させていただきたく、宜しくお願い致します。

[root@fedora test]# /usr/bin/ruby -v
ruby 1.8.7 (2011-02-18 patchlevel 334) [i386-linux]
[root@fedora test]# cat qaz.rb
#! /usr/bin/ruby -KU
require 'time'

a="2011-04-15 10:52:51.004956"
b="2011-04-15 10:52:50.998658"
print("#{Time.parse(a)-Time.parse(b)}\n")

a="2011-04-15 10:52:48.977298"
b="2011-04-15 10:52:48.970890"
print("#{Time.parse(a)-Time.parse(b)}\n")
[root@fedora test]# ./qaz.rb
0.00629800000000004
0.006408
[root@fedora test]#

と、小数点以下6桁の情報を持つ時刻情報の差分を計算したら、何故か
一つ目の方では
0.00629800000000004
と
00000000004
が余計にくっついて出力されました。

to_fをしてみると
[root@fedora test]# cat qaz.rb
#! /usr/bin/ruby -KU
require 'time'

a="2011-04-15 10:52:51.004956"
b="2011-04-15 10:52:50.998658"
print("#{Time.parse(a).to_f-Time.parse(b).to_f}\n")

a="2011-04-15 10:52:48.977298"
b="2011-04-15 10:52:48.970890"
print("#{Time.parse(a).to_f-Time.parse(b).to_f}\n")
[root@fedora test]# ./qaz.rb
0.00629806518554688
0.0064079761505127
[root@fedora test]#
と、これまた不思議なほど桁数が増えて出力されてしまうのですが。。。

パターンをイロイロ試したわけではないのですが、とあるログの時刻情報の差分を
大量に計算していたところto_fをしなかったときに390個中1個だけ
上記のように余計な桁が出力されました。

何が悪いのかよく分からないのですが、小数点以下6桁の引き算なので、
そのまま小数点以下6桁(以内)の答えが欲しいのですが、どのようにしたら良いか
ご助言いただけませんでしょうか。

-- 
かさはら みつお <m.kasahara13@gmail.com>

In This Thread

Prev Next