全ては時の中に…

システム開発全般の技術や開発に役立つツール、プログラミングのサンプルを紹介しています。

端数処理

【VB.NET】Roundメソッド(四捨五入)について

以前の記事「【VB.NET】小数部の端数処理」で端数処理について紹介しました。
この記事に記載されている四捨五入用のRoundメソッドについての補足です。

VB 2005からオーバーロード(※1)されたメソッドが追加されています。
追加されたオーバーロードには、MidpointRoundingという引数が追加されており、この引数を指定することで四捨五入の精度を高めています。
MidpointRoundingでは、指定した数値が中間に位置する場合の処理方法を指定できます。
MidpointRoundingは、System.MidpointRounding列挙型として用意されています。
以下、列挙子の説明です。
 ・AwayFromZero
  →数値が 2 つの数値の中間に位置するときに、ゼロから遠い方の近似値に丸められます。
 ・ToEven
  →数値が 2 つの数値の中間に位置するときに、最も近い偶数方向に丸められます。

以下、サンプル。
続きを読む

【Oracle】SQLで端数処理を行う

OracleでSQLを使って端数処理を行う方法について説明します。
Oracleには、端数処理用の関数として、以下の関数が用意されています。
 1.ROUND
 2.TRUNC

1.ROUND関数
 指定した桁数の1つ下の桁で四捨五入します。
 《構文》
  ・ROUND(値)
  ・ROUND(値, 小数桁)
2.TRUNC関数
 指定した桁数の1つ下の桁で切り捨てします。
 《構文》
  ・TRUNC(値)
  ・TRUNC(値, 小数桁)

 どちらも桁数を指定しない場合には、小数第1位以下で端数処理します。 (値としては整数が返ります)

以下、サンプル。
続きを読む

【VB.NET】小数部の端数処理

VB.NETには、整数部の端数処理用関数は用意されていますが、小数部の端数処理用関数が用意されていません。
そのため、小数部の端数処理を行う場合には、端数処理用のロジックを自前で作成する必要があります。

計算の都度、端数処理用のロジックを用意するのは面倒なので、関数を作成してみました。
関数名は、VB.NETのMathクラスに用意されている端数処理用メソッドと同じです。
(Mathクラスの端数処理用メソッドに有効桁数を明示するための引数を1つ追加し、この引数に指定した桁までを有効桁数として端数処理を行った数値を返します)

ここで言う端数処理用メソッドは、以下を指します。
 ・Round(四捨五入)
 ・Truncate(切捨て)
 ・Ceiling(切上げ)

端数処理用メソッドは、こちら(fraction.zip)からダウンロードできます。
(今回は、ソースコードで提供しています)

以下、サンプルの説明です。
続きを読む

【PowerBuilder】小数部の切り捨て

PowerBuilderで用意されている端数処理用関数は、小数部の端数処理が四捨五入と切り捨てしかできません。
そのため、小数部の切り捨てを行う場合には、独自で切り捨て用の関数を作成する必要があります。
というわけで、汎用的な切り捨て用関数を作ってみました。

以下、サンプル。
続きを読む

【VB.NET】数学関数を利用する

VB.NETで数学関数を利用する方法について説明する。
VB6.0までは、数学関数は特別な指定をしなくても利用できたが、VB.NET以降は、System.Mathクラスを指定しなければ、これらの関数は利用できない。(標準で参照設定されている)

以下、四捨五入(Round)の利用方法を例にVB6.0以前とVB.NET以降での数学関数の利用方法の違いついて説明する。
続きを読む
Recent Comments
Recent TrackBacks
Profile

ふりっつ

システムエンジニア
取得資格:
 ソフトウェア開発技術者
 MCP(70-290)
メールマガジン:
 【出張版】全ては時の中に…

メールマガジン
メルマガ登録・解除
【出張版】全ては時の中に…
 
 powered by メルマガスタンドmelma! トップページへ
ブログランキング
アクセス解析出会い




にほんブログ村 IT技術ブログへ

にほんブログ村 IT技術ブログ プログラム・プログラマへ

Amazon
スポンサー
HonyaClub.com

PCDEPOT WEB本店/OZZIO

FUJIFILMMALL(フジフイルムモール)

IT 関連資格ならクラムメディア問題集

  • ライブドアブログ