- PR -

有効桁数のチェック処理

1
投稿者投稿内容
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-04-03 12:52
VB.NETでWeb開発をしています。

データベースに下記のカラム名Amountがあります。
画面から入力されたデータの桁数がsmallmoney型の有効数値の範囲内であることを
チェックをする処理を考えています。(オーバーフローを起こさない処理)

if -214748.3648<=Amount.text and Amount.text <= 214748.3647 then
と、チェック処理をしたくありません。何か良い方法はありますか?
ご教授お願いします。


Amount smallmoney型 長さ4

<smallmoney>
通貨単位の 10,000 分の 1 までの精度で、-214,748.3648 から +214,748.3647 までの金額データ値です。
Tog
ベテラン
会議室デビュー日: 2002/06/09
投稿数: 76
投稿日時: 2003-04-04 08:00
smallmoney型はint32型と同じでしょうか。4byte(-2,147,483,648 〜 2,147,483,647)

であればコンバートして例外をキャッチでよいと思います。
try
rtn = convert.toint32(txtabc.text)
catch e as OverflowException
'error
end try
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2003-04-04 10:59
RangeValidatorでチェックした方がスマートでは?

<asp:RangeValidator runat="server"
MinimumValue=???
MaximumValue=???
... />
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-04-04 11:04
なるほど。
ありがとうございました。
実装してみましたが、きちんと動作しました。

引用:

Togさんの書き込み (2003-04-04 08:00) より:
smallmoney型はint32型と同じでしょうか。4byte(-2,147,483,648 〜 2,147,483,647)

であればコンバートして例外をキャッチでよいと思います。
try
rtn = convert.toint32(txtabc.text)
catch e as OverflowException
'error
end try

1

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