数値変換 |
文字列変換 |
最終更新日:2006/11/29 新規 |
●概要
MegaLong を、人間が分る文字列数値に変換する。MegaLong を正確に表現できる。
●方法
○数値表示
指数表示と固定小数点表示がある。また、仮数部の表示桁数を制限できる。
・指数表示
1.23456789E-5
・固定小数点表示 0.0000123455678
- 負の場合は、- 符号を設定。
- 仮数部をそのまま、StringBuilder にて数字文字列とする。
- 指数表示の場合は、初めの数字の後ろに小数点を挿入し、指数部を表示する。
- 固定小数点表示の場合は、指数と桁数から小数点の位置を算出、挿入する。小数のみの場合は、頭に必要な 0 を挿入し、整数の場合は、後ろに挿入する。
- 表示桁数に制限がある場合は、その処理を行う。制限された場合は、仮数部の末尾に、"・・・" を付加して、省略されたことを示す。
○内容表示
主としてディバッグのためのもので、MegaLong構造体の中身を物理ダンプする。Sign、Exp、Length、Mant()
を下図の例のように表示する。
構造体のメソッド Description
として以下のような処理である。
Function Description(Optional ByVal
Limit As Integer = 0) As String
Dim i, S As Integer
Dim T As String = ""
T = "Sign=" + Me.Sign.ToString + ", Exp=" + Me.Exp.ToString + ",
Length=" + Me.Length.ToString + vbCrLf + "Mant()" + vbCrLf
S = Me.Mant.Length
If Limit > 0 AndAlso Limit < S Then
S = Limit
End If
For i = 0 To S - 1
T = T + Me.Mant(i).ToString("00000000") + " "
Next
Return T
End Function
|