数量×単価で結果の桁数チェック
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
sigeno56
投稿数: 336
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
売上伝票入力画面の明細上で
数量 と 単価 を入力すると
金額 に 数量×単価 が代入されるか
あるいは 項目更新で値をセットするという事は
よく有ると思います。
金額が8桁とした場合
ABS(数量×単価) > 99,999,999 ならエラー
といった記述を皆さんはなさいますか?
そういった値が入力される事はあまりなく
システムがアボートするといったシーンにも
あまり遭遇しないので
私はやらない事が多いです。
数量 と 単価 を入力すると
金額 に 数量×単価 が代入されるか
あるいは 項目更新で値をセットするという事は
よく有ると思います。
金額が8桁とした場合
ABS(数量×単価) > 99,999,999 ならエラー
といった記述を皆さんはなさいますか?
そういった値が入力される事はあまりなく
システムがアボートするといったシーンにも
あまり遭遇しないので
私はやらない事が多いです。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
数量の桁数と単価の桁数で最大の桁数を金額の桁数とするのでそのようなチェックしないですね・・・
投票数:0
平均点:0.00
sigeno56
投稿数: 336
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
9,999個×999,999円とした場合、結果は
9,998,990,001円・・・約99億円 10桁
といった感じなのでしょうね。
ISHIJIMA様 ありがとうございました。
9,998,990,001円・・・約99億円 10桁
といった感じなのでしょうね。
ISHIJIMA様 ありがとうございました。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
桁溢れはMagicの実行エンジンが自動エラー処理しますので、
システムがアボートしたりすることはないですよ。
計算結果が書式設定を超えた場合は、「*」の表示になります。
システムがアボートしたりすることはないですよ。
計算結果が書式設定を超えた場合は、「*」の表示になります。
投票数:1
平均点:10.00
sigeno56
投稿数: 336
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
そうですね。
99,999個×999,999,999円=14桁の結果になるのですが
極端な事を言うと、
格納変数の型が例えば 5桁や6桁しか保存出来ない型だとしても
エラーで落ちないようエラー処理が内部で動いている訳
なのですね。ありがとうございました。
計算結果が書式オーバーの時の*******表示は知っております。
99,999個×999,999,999円=14桁の結果になるのですが
極端な事を言うと、
格納変数の型が例えば 5桁や6桁しか保存出来ない型だとしても
エラーで落ちないようエラー処理が内部で動いている訳
なのですね。ありがとうございました。
計算結果が書式オーバーの時の*******表示は知っております。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
「*」が表示されているっていうことは、すでにクラッシュが
回避されていると受け取っていただいていいと思います。
回避されていると受け取っていただいていいと思います。
投票数:0
平均点:0.00
sigeno56
投稿数: 336
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
変数に格納出来る値の許容を超えた場合と
変数に値は正常に格納されているが表示桁数が足りない場合と
2パターンあるのでしょうね。
後者の場合は表示する桁数を1桁増やすだけで
*******表示から数値表示に復活する場合も
有ったように思いますので。。。。
変数に値は正常に格納されているが表示桁数が足りない場合と
2パターンあるのでしょうね。
後者の場合は表示する桁数を1桁増やすだけで
*******表示から数値表示に復活する場合も
有ったように思いますので。。。。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
Magicはその両方に対応していますから大丈夫ですよ。
投票数:1
平均点:10.00
sigeno56
投稿数: 336
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
つまり項目更新や代入式で
ABS(数量×単価) > 99,999,999 ならエラー
という警告表示、エラー表示をしている人もいる
かもしれないが、異常終了する訳でもないし
**,***,***円といった表示にもなり見た目でも
判別つくし、そもそもそういった入力が行われる
可能性も低いといった事などにより記述する方は
少ないのかもしれませんね。
Magicに接する事の少ないテスターがテストを行うと
こういった内容もテスト項目に含まれ、無駄な工数を
使ってしまうのではないかと懸念されます。
ABS(数量×単価) > 99,999,999 ならエラー
という警告表示、エラー表示をしている人もいる
かもしれないが、異常終了する訳でもないし
**,***,***円といった表示にもなり見た目でも
判別つくし、そもそもそういった入力が行われる
可能性も低いといった事などにより記述する方は
少ないのかもしれませんね。
Magicに接する事の少ないテスターがテストを行うと
こういった内容もテスト項目に含まれ、無駄な工数を
使ってしまうのではないかと懸念されます。
投票数:0
平均点:0.00