|
出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
Topに戻る
掲示板に戻る
検索
削除
管理者
|
![]()
オーバーフローしましたというエラーになります
かすみさん
[2002/02/28 15:57:09]
[1780]
|
Re:オーバーフローしましたというエラーになります
Tomitomiさん
[2002/02/28 16:07:17]
[1781]
Re:オーバーフローしましたというエラーになります
北岳さん
[2002/02/28 17:04:27]
[1784]
|
| [1780] オーバーフローしましたというエラーになります |
| 投稿者:かすみさん 2002/02/28 15:57:09 |
| こんにちは。もう1つ質問させてください。 DBから読んできた合価に0.05をかけた値をワークへ入れているのですが、 「オーバーフローしました。: 'Cint'」 というエラーになってしまいます。 合価はNUMBER(12)なのでフル桁入れてみました。 WK_SHOHIGAKUは Dim WK_SHOHIGAKUと定義しています。 DmStrSQL = SELECT GOUKA FROM AA_MST " Set DmOraDs = conn.Execute(DmStrSQL) WK_SHOHIGAKU = Cint(DmOraDs("GOUKA")) * 0.05 何が原因なのでしょうか |
| [1781] Re:オーバーフローしましたというエラーになります |
| 投稿者:Tomitomiさん 2002/02/28 16:07:17 |
| こんにちは、Tomitomiです。 > DBから読んできた合価に0.05をかけた値をワークへ入れているのですが、 > 「オーバーフローしました。: 'Cint'」 > というエラーになってしまいます。 > 合価はNUMBER(12)なのでフル桁入れてみました。 > WK_SHOHIGAKUは > Dim WK_SHOHIGAKUと定義しています。 > > DmStrSQL = SELECT GOUKA FROM AA_MST " > Set DmOraDs = conn.Execute(DmStrSQL) > WK_SHOHIGAKU = Cint(DmOraDs("GOUKA")) * 0.05 > > 何が原因なのでしょうか Cintは、 -32,768 〜 32,767 の範囲で変換可能らしいです。 NULLでもエラーになるのでご注意を。 しかし、なんでASPにはVal関数がないのだろ。 |
| [1784] Re:オーバーフローしましたというエラーになります |
| 投稿者:北岳さん 2002/02/28 17:04:27 |
| MSDN Online Library http://www.microsoft.com/japan/developer/library/default.asp?URL=/japan/developer/library/script56/vtorivbscript.htm (プラットホームSDKドキュメント−ツール及び開発言語−中略−VBScript) ■ユーザーズ ガイド VBScript のデータ型 整数型(Integer): -32.768 〜 32.767 長整数型(Long): -2,147,483,648 〜 2,147,483,647 単精度浮動小数点数型(Single): 1.401298E-45 〜 3.402823E38 ■リファレンス VBScript の関数 CInt 関数:内部処理形式が整数型 (Integer) の Variant にする変換関数です。 CLng 関数:内部処理形式が長整数型 (Long) の Variant にする変換関数です。 CSng 関数:内部処理形式が単精度浮動小数点型 (Single) の Variant にする変換関数です。 ------------------------------------------ だそうですので、 >合価はNUMBER(12)なのでフル桁入れてみました。 ら、 >Cint(DmOraDs("GOUKA")) では、3万3千円以上だからエラーが出ますよね。 でも12桁(9千・・・億円)?も指定されたら、Longでもダメ。 しょうがないから、1 銭玉も用意して、単精度実数でやりましょう。 そうすれば、合計価格が10の38乗円になるまで安心です。 1万円札では10万トンのタンカーで、えっと・・・是非乗らせて! |
|
TreeBBS For ASP V.0.1.3 |