SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

VB 基礎編 (その七) 数値関数 int、FormatNumber、FormatCurrency

VB で数値を操作する関数について説明します。

■数値関数

  abs  絶対値を返す
  int  小数部切り捨て
  fix  小数部切り捨て
  sqr  平方根

  【注】fix と int の違いは、マイナスデータのとき発生します。
        例えば、引数として -8.4 を指定すると、
          int は -9
          fix は -8
        を返します。
        通常の切り捨てロジックでは int を使用します。

■abs

  絶対値を求めます。

  【例】'** -123 の絶対値を求める
          dim a as integer

          a = abs(-123)

        a には、123 がセットされます。

■int、fix

  小数部を切り捨てる。

  【例】'** 少数第三位を四捨五入する
          dim a as double
          dim b as double

          a = 200.125
          b = (a * 1000 + 5) / 10
          a = int(b) / 100

        a には、200.13 がセットされます。

■sqr

  平方根を求める。

  【例】'** 2 の平方根を求める。
          dim a as double

          a = sqrr(2)

        a には、1.14... がセットされます。

■2 進数を 10 進数へ変換 (応用)

public function CnvDec(b as string) as long

  dim d as long
  dim i as long
  dim j as long

  j = len(b)
  for i = j to 1 step -1
    d = d + val(mid(b, i, 1)) * 2^(j - i)
  next

  CnvDec = d

end function

【使い方】

  a = CnvDec("10101010")
  |           |_ 文字変数または、リテラル
  |_ 10 進数(long)

■FormatNumber

  dim a as string

  a = FormatNumber(10.1, 2, true, false, TristateTrue)
  |                |     |  |     |      |_ TristateTrue  桁区切りする
  |                |     |  |     |         TristateFalse 桁区切りしない
  |                |     |  |     |         TristateUseDefault 地域のプロパティに従う
  |                |     |  |     |_ TRUE  マイナスをカッコで囲む
  |                |     |  |        FALSE マイナスをカッコで囲まない
  |                |     |  |_ TRUE  0.1 のゼロを表示する (0.1)
  |                |     |     FALSE 0.1 ゼロを表示しない (.1)
  |                |     |_ 小数部の桁数
  |                |_ 数値、または、数値変数
  |_ 文字列変数

  ** format 関数の方が便利な気がする。整数部のゼロ埋めは formatnumber
     関数だけではできないが、format 関数では可能。
     (数字表示形式)

  a = format(10.1, "#,##0.00")
  a = format(10.1, "0000000.00")

■FormatCurrency

  dim a as string

  a = FormatCurrency(10.1, 2, true, false, TristateTrue)
  |                  |     |  |     |      |_ TristateTrue  桁区切りする
  |                  |     |  |     |         TristateFalse 桁区切りしない
  |                  |     |  |     |         TristateUseDefault 地域のプロパティに従う
  |                  |     |  |     |_ TRUE  マイナスをカッコで囲む
  |                  |     |  |        FALSE マイナスをカッコで囲まない
  |                  |     |  |_ TRUE  0.1 のゼロを表示する (0.1)
  |                  |     |     FALSE 0.1 ゼロを表示しない (.1)
  |                  |     |_ 小数部の桁数
  |                  |_ 数値、または、数値変数
  |_ 文字列変数

  ** FormatNumber と似ているが、「\」の通貨記号が付く。
  ** format 関数でやると次のようになる。

  a = "\" & format(10.1, "#,##0.00")

■FormatPercent

  dim a as string

  a = FormatPercent(0.05, 0, true, false, false)
  |                 |     |  |     |      |_ TristateTrue  桁区切りする
  |                 |     |  |     |         TristateFalse 桁区切りしない
  |                 |     |  |     |         TristateUseDefault 地域のプロパティに従う
  |                 |     |  |     |_ TRUE  マイナスをカッコで囲む
  |                 |     |  |        FALSE マイナスをカッコで囲まない
  |                 |     |  |_ TRUE  0.1 のゼロを表示する (0.1)
  |                 |     |     FALSE 0.1 ゼロを表示しない (.1)
  |                 |     |_ 小数部の桁数
  |                 |_ 数値、または、数値変数
  |_ 文字列変数

■VB 基礎編資料
■VB 入門編資料
■VB ビジュアル編資料
■VB テクニック編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2017 Y.SAK