プロが教えるわが家の防犯対策術!

こんばんわ。

vb6使用で、色々探してみたのですが、わかりませんでした。
12313133→そのまま
9797879797977896→9797977896
121212→そのまま

等を10桁に変換する関数です。

If IsNumeric(val) Then
val = Format(val, "##########")
endif
これで10桁にできないのですが、正しい方法を教えてほしいです。


同様に
111.938

11.9(3は四捨五入)
にする方法も、##.0ではないでしょうか?

よろしくお願い致します。

A 回答 (2件)

10桁の桁あわせはCDecとRightを組み合わせてやる方法でしょう



Function Dec2Str( ss as String, nLen as Integer) as string
  dim tmp as Variant
  tmp = CDec( ss )
  tmp = Right( Format( tmp, "#" ), nLen )
  Dec2Str = tmp
End Function

##.0では出来ません
Right(format( 111.938, "#.0"),4)
といった具合でしょう
    • good
    • 0
この回答へのお礼

ありがとうございます。

10桁の例で、0の場合が空白になってしまうのは、他のコード追加で、
対処した方がよさそうでしょうか。

少数点の、0.1の場合、.1 になってしまうのも同様でしょうか。

お礼日時:2008/12/10 10:58

10桁ぞろえの場合


tmp = Right( Format( tmp, "#" ), nLen )

tmp = Right( Format( tmp, "#0" ), nLen )

少数の場合
Right(format( 111.938, "#0.0"),4)
としてみてください
    • good
    • 0
この回答へのお礼

ありがとうございます!

分かりやすかったですし、勉強になりました。面白いです。

お礼日時:2008/12/10 14:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています