ab.com コミュニティ https://www.activebasic.com/forum/ |
|
数値フォーマッティング https://www.activebasic.com/forum/viewtopic.php?t=1937 |
ページ 1 / 1 |
作成者: | ま~ちゃん [ 2007年5月12日(土) 13:35 ] |
記事の件名: | 数値フォーマッティング |
小数以下d桁のフォーマット Function Fmt$(r! As Double, d As Integer) As String r! を nnn.ddd の文字列に変換する。 d は少数以下の桁数 d=0 で小数点を含む形式に変換 d=-1 で小数点を除く整数形式に変換 Function Fmt$(r! As Double, d As Integer) As String Dim buff As String Dim buf1 As String Dim buf2 As String Dim E As Long Dim D As Long buff = Str$(r!) CharLower(buff) E = InStr(1,buff,"e") If E Then D = E - 1 If r! > 0 Then If E > 16 Then D = 16 Else If E > 17 Then D = 17 End If buf1 = Left$(buff,D) buf2 = Mid$(buff,E+1) Fmt$ = buf1 + "e" + buf2 Exit Function Else If r! > 0 Then D = Int(Log(r!)/Log(10))+1 Else D = Int(Log(Abs(r!))/Log(10))+2 End If E = d If d < 0 Then E = 0 If r! > 0 Then buff = Str$(r! + 5*0.1^(d+1)) Else buff = Str$(r! - 5*0.1^(d+1)) End If If d < -1 Then E = -1 If D < 1 Then D = E + 2 Else D = D + E + 1 End If If Len(buff)<D Then D=Len(buff) Fmt$ = Left$(buff,D) Exit Function End If End Function |
作成者: | ま~ちゃん [ 2007年5月12日(土) 13:43 ] |
記事の件名: | 対応Val関数 |
この関数でのフォーマットは、桁数が多い場合は指数形式に変換されるが、指数形式の数値への変換は、下記を使用できる。 hira's AB Sample Codes http://hira.hopto.org/absample1.htm#Shisuu |
ページ 1 / 1 | 全ての表示時間は UTC+09:00 です |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |