ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月29日(金) 01:23

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 2 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 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


通報する
ページトップ
   
 記事の件名: 対応Val関数
投稿記事Posted: 2007年5月12日(土) 13:43 
この関数でのフォーマットは、桁数が多い場合は指数形式に変換されるが、指数形式の数値への変換は、下記を使用できる。

hira's AB Sample Codes
http://hira.hopto.org/absample1.htm#Shisuu


通報する
ページトップ
   
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 2 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[7人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean