
下記はuwscの自作タイマープログラムの一部です
timer[2]=GETTIME() + 10 * 60
:
:
:
FUKIDASI("2番("+INT((timer[2]-GETTIME())/3600,0)+":"+INT((timer[2]-GETTIME())/60 MOD 60,0)+":"+INT((timer[2]-GETTIME()) MOD 60,0)+")")
といった感じでプログラムを組んだのですが、時、分の所で3捨4入してしまうようで正しく表示されません。
INTは小数切捨てらしいのですが…
どうすれば正しく時間を表示できるでしょうか?

No.3ベストアンサー
- 回答日時:
回答No.1です。
チェックが甘かったようで、大変失礼しました・・・MODの仕様のせいであれば、INTに食わせるのを計算結果全体ではなく、60で割った結果だけにすれば、確実に小数点以下は切り捨てにできます。今回の場合は剰余は整数部だけあればよいので、事前に小数部を削っておくことで所望の結果が得られます。以下の式なら、31秒で分が繰り上がる現象が出ないのは確認しました。
print "2番("+INT((GETTIME()-timer[2])/3600,0)+":"+INT((GETTIME()-timer[2])/60,0) MOD 60+":"+INT((GETTIME()-timer[2]) MOD 60,0)+")"
No.2
- 回答日時:
UWSCは分かりませんが、
>3捨4入してしまう
ということなので、もしかしたら MOD 関数が銀行型丸め(偶数丸め)を
行っているのでは?
1.5 MOD 10 → 2
2.5 MOD 10 → 2
3.5 MOD 10 → 4
4.5 MOD 10 → 4
となりませんかね。

No.1
- 回答日時:
timer[2]=GETTIME() + 10 * 60 ですが、これって10 * 60が先に評価されちゃうけどいいんですか?まさかそれだけのオチ?
時分秒を求める式は、それで合っているはずです。以下の実験コードでも、正常に現在時刻を示しますから。
dim timer[2]
timer[2]=GETTIME(0,"2014/05/06 00:00:00")
print "2番("+INT((GETTIME()-timer[2])/3600,0)+":"+INT((GETTIME()-timer[2])/60 MOD 60,0)+":"+INT((GETTIME()-timer[2]) MOD 60,0)+")"
この回答への補足
回答ありがとうございます
実験コードも正常に時刻表示されませんね
例えば、
0:0:30
の1秒後が
0:1:31と表示されたりしますし
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# プログラミングを教えて欲しいです。 配列aは、int a[9]={7,6,12,8,3,5,10,9 4 2022/12/19 23:27
- Java Java 配列<選挙> 4 2023/07/31 15:07
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで時刻の計算結果が-0:...
-
CADによる表面積の計算
-
uwscで数値を切り捨て
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
Excelで同じセルに箇条書きをし...
-
A1セルに入力したら、入力時間...
-
Excelで来月以降の日付のセルを...
-
エクセルでセルを10個分くらい...
-
Excelで、セル内改行もそっくり...
-
SUMに含まれる範囲から特定のセ...
-
空白でないセルの値を返す方法...
-
エクセル 文字の先頭4文字だ...
-
エクセルの複数のセルを一括で...
-
お肉の下のシートを煮込んでし...
-
=SUBTOTAL に =COUNTIF の機能...
-
リンク元の日付が空白の時リン...
-
エクセルで既に入力してある文...
-
EXCELで、結合されたセルに連続...
-
入力したところまでを自動的に...
-
IF関数で0より大きい数値が入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
勤続年数の平均値の求め方
-
エクセルで時刻の計算結果が-0:...
-
共有物分割に伴う登録免許税の...
-
エクセルで行を追加した時に計...
-
CADによる表面積の計算
-
OpenCv ヒストグラム比較について
-
uwscで数値を切り捨て
-
word97で作った表
-
EXCEL で符丁計算式を設定した...
-
日常使いのExcelについて。家計...
-
Excelで同じセルに箇条書きをし...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
A1セルに入力したら、入力時間...
-
Excelの入力規則で2列表示したい
-
エクセルの複数のセルを一括で...
-
複数の文字列のいずれかが含ま...
-
エクセルで既に入力してある文...
-
excelでSUBTOTAL関数を設定した...
-
空白でないセルの値を返す方法...
-
Excelで年月日データから下二桁...
おすすめ情報