- PR -

小数点以下の桁数取得について

1
投稿者投稿内容
お獅子
大ベテラン
会議室デビュー日: 2004/09/14
投稿数: 160
投稿日時: 2005-09-07 19:32
いつもお世話になっております。

今回はACCESS2000で小数点以下の桁数を取得したいのですが
どうすれば良いのか分からず困ってます。

例えば、230.1 の場合は1、230.12の場合は2と小数点以下の桁数が何桁まで入っているのか調べたい。

いい方法ご存知の方、ご伝授ください。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2005-09-07 20:27
「ACCESS2000で」というのはどういうことですか?
ACCESS2000からADO.NETで取ってきたデータの桁数ということですか?

そうなら列の型はなんでしょうか。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-09-07 20:59
文字列に変換して、ドットで区切って文字数を数えるとか。
sou
ベテラン
会議室デビュー日: 2002/09/25
投稿数: 56
投稿日時: 2005-09-07 21:08
VBAでこんなんはどうでしょう?

Function CountDigit(num As Variant) As Integer

Dim numDec As Variant
Dim numDigit As Variant
Dim strDigit As String

'絶対値を得る
numDec = CDec(Abs(num))
'小数部だけを得る
numDigit = numDec - CDec(Fix(numDec))
'数値の文字数をカウントして小数点桁数とする
strDigit = CStr(numDigit)

If strDigit = "0" Then
CountDigit = 0
Else
CountDigit = Len(strDigit) - 2
End If

End Function
お獅子
大ベテラン
会議室デビュー日: 2004/09/14
投稿数: 160
投稿日時: 2005-09-08 09:30
なるほど。勉強になりました。

ありがとうございました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-09-09 09:13
引用:

souさんの書き込み (2005-09-07 21:08) より:

VBAでこんなんはどうでしょう?


数値だということをまず保証しなきゃいけないですよね?
「.」の数は 1 か 0 である保証があるわけです。
つまり、普通に「.」の位置から Length を差し引きすべきだと思います。
きくちゃん氏の方法が 1 番安全でかつスマートです。

> 小数部だけを得る
正しく得れる保証がないですからね。


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)