m:ss.ffの書式にフォーマットff最後の桁を切り捨てたいです。
m:ss.fにしたいです。
time_sapmle = re.split('[.]',time)
if len(time_sapmle) != 1:
time_sapmle 切り捨て処理したい
宜しくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答4件
0
こういうイメージでしょうか?
python
1import time 2 3t_1 = time.time() 4input() 5t_2 = time.time()+300 # 5分以上経過とする 6dt = t_2 - t_1 7 8m = int(dt/60) 9ss = dt%60 10ff = str(ss).split('.')[1][-2:] 11ss = ('0'+str(ss).split('.')[0])[-2:] 12 13time_sample = f'{m}:{ss}.{ff}' 14 15print(time_sample) 16if len(time_sample) != 1: 17 time_sample = time_sample[:-1] 18 print(time_sample)
出力例
plain
15:13.16 25:13.1
実行すると入力待ちになるので適当な時間待ってEnterしてみてください。
まぁミソの部分はtime_sample[:-1]
だけです。フォーマットが絶対にm:ss.ff
であることが約束されるならば、[:-1]
で最後のf
だけ取り除いてしまえばいいと思います。
投稿2018/01/29 01:57
編集2018/01/29 02:08総合スコア2045
0
既に回答がついているので蛇足っぽいですが、取得するデータが仮にdatetime型だった場合を想定して書いてみました。
Python
1from datetime import time 2t = time(hour=12, minute=4, second=6, microsecond=123456) #例として12:04:06.123456を定義 3print(t) 4# ここのスライシングで文字の切出しをおこなっています。 5print(t.strftime("%M:%S.%f")[0:7])
実行結果 12:04:06.123456 04:06.1
元々文字列である場合はnamnium1125の仰っている通り、最後の一文のここが分かればいいと思います。
まぁミソの部分はtime_sample[:-1]だけです。フォーマットが絶対にm:ss.ffであることが約束されるならば、[:-1]で最後のfだけ取り除いてしまえばいいと思います。
投稿2018/01/29 02:59
総合スコア356
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
namnium1125さんのコードがベースです。
ゼロ埋めで確定させればif文が要らなくなります。
python
1import time 2 3t_1 = time.time() 4t_2 = time.time()+0.1 # 5分以上経過とする 5dt = t_2 - t_1 6 7m = int(dt/60) 8ss = dt%60 9ff = str(ss).split('.')[1][-2:] 10ss = ('0'+str(ss).split('.')[0])[-2:] 11 12time_sample = f'{m}:{ss}.{ff:0>2}' 13 14print(time_sample[:-1])
投稿2018/01/29 05:38
総合スコア8562
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。