- PR -

mod関数を使うには?

投稿者投稿内容
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-03-13 17:40
解りました。
どうも、ありがとうございました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-03-13 17:45
検査値 Mod 1 < 1.0

がシンプルかな
_________________
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-03-13 19:19
Jittaさん、最後までありがとうございます。

ognac
ベテラン
会議室デビュー日: 2005/06/21
投稿数: 65
投稿日時: 2007-03-13 19:55
ありがとうございます。
目から鱗です。

ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2007-03-14 01:01
引用:

Jittaさんの書き込み (2007-03-13 17:45) より:
検査値 Mod 1 < 1.0

がシンプルかな



え?小数点以下が0かどうか判断するんですよね?
検査値が1.1なら1.1 Mod 1 は0.1で1.0より小さいから真
検査値が1.0なら1.0 Mod 1 は0で1.0より小さいから真
となりませんか?
末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2007-03-14 03:12
こんばんは

VBは触ったことないので良くわかりませんが、整数化関数を使えば解決じゃないですか?

コード:
if 検査値 = 整数化関数(検査値) then
 小数点以下はない
else
 小数点以下がある
end if



整数化関数は切り捨てでも、切り上げでも、丸めでもなんでもよしです。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-03-14 11:20
引用:

ぼのぼのさんの書き込み (2007-03-14 01:01) より:
引用:

Jittaさんの書き込み (2007-03-13 17:45) より:
検査値 Mod 1 < 1.0

がシンプルかな



え?小数点以下が0かどうか判断するんですよね?
検査値が1.1なら1.1 Mod 1 は0.1で1.0より小さいから真
検査値が1.0なら1.0 Mod 1 は0で1.0より小さいから真
となりませんか?

げ!0.0 を忘れてたorz

If 検査値 = CInt(検査値) Then
 小数点以下がない()
Else
 小数点以下がある()
End If

サイズが大きい方にそろえられるから、問題ない、と。

なぜか、Single が Integer にキャストされたら、、、とか、考えていたorz

でも、If 検査値 Mod 1 <> 0 Then で OK だったと思うんだけど、そのあとの質問がなんで出てきたんだろう?とか考えて、「実数 Mod 1」ってどうなるんだ?とか考えていたら、飛んでしまったらしい。
_________________
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2007-03-14 11:33
NAL-6295です。

Decimal型であれば、
コード:
if value <> decimal.truncate(value) then
  '少数点以下有り
end if


を使う事が多いです。

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