C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■82966 / )  Re[1]: ChartのX軸に日・時・分を指定し表示
□投稿者/ 大谷刑部 (12回)-(2017/02/23(Thu) 09:35:17)
No82964 (KY さん) に返信
> :(中略)
> 2016/10/11 10:24:00,1690
> 2016/10/11 10:25:00,1680
> :(中略)
> 2016/10/12 15:58:00,1730
> 2016/10/12 15:59:00,1710
> 2016/10/12 16:00:00,1750
> :(中略)
>
> などと言った日時と数値のデーターがあるとします。
> このうちの日時をChartのX軸に表示したのですが、このまま自動で表示しますと中途半端な日・時・分で表示がされます。
> これを例えば「15:00:00」、「15:15:00」、「15:30:00」、「15:45:00」、「16:00:00」などと15分単位、
> 或いは30分単位、1時間単位、2時間単位などとするにはどうすれば良いのでしょう?
> よろしくお願いします。

VB6やVBAでは日付型は内部値は1日を1としたDouble型ですが、
.Netでは「日付構造体」のようなので、ToOADateで一端Double型に変換してから、
(CDblとかCastでは変換できないようらしい、精度の高いDecimal型には変換すらできない)
15分とか30分を10進法に直した値に丸める関数をつくればいいのではないでしょうか?
ただし、Double型は内部は2進数なので、10進法でいう完ぺきな精度はおそらく不可能なので、
その点は承知の上実装が必要になります。
ToOADateでDouble型に変換の上、Decimalに変換するのはなおダメです。
2進→10進で精度のずれが確実に起こります。









返信 編集キー/


管理者用

- Child Tree -