ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

数量×単価で結果の桁数チェック

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 .6 | 投稿日時 2017-5-18 18:02
sigeno56  長老   投稿数: 336
売上伝票入力画面の明細上で
数量 と 単価 を入力すると
金額 に 数量×単価 が代入されるか
あるいは 項目更新で値をセットするという事は
よく有ると思います。

金額が8桁とした場合
ABS(数量×単価) > 99,999,999 ならエラー
といった記述を皆さんはなさいますか?

そういった値が入力される事はあまりなく
システムがアボートするといったシーンにも
あまり遭遇しないので
私はやらない事が多いです。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-5-18 18:06
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
数量の桁数と単価の桁数で最大の桁数を金額の桁数とするのでそのようなチェックしないですね・・・
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-5-18 18:24
sigeno56  長老   投稿数: 336
9,999個×999,999円とした場合、結果は
9,998,990,001円・・・約99億円 10桁
といった感じなのでしょうね。
ISHIJIMA様 ありがとうございました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-5-19 14:07
Tanda  長老   投稿数: 2151
桁溢れはMagicの実行エンジンが自動エラー処理しますので、
システムがアボートしたりすることはないですよ。

計算結果が書式設定を超えた場合は、「*」の表示になります。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-5-19 14:22
sigeno56  長老   投稿数: 336
そうですね。
99,999個×999,999,999円=14桁の結果になるのですが
極端な事を言うと、
格納変数の型が例えば 5桁や6桁しか保存出来ない型だとしても
エラーで落ちないようエラー処理が内部で動いている訳
なのですね。ありがとうございました。
計算結果が書式オーバーの時の*******表示は知っております。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-5-19 14:30
Tanda  長老   投稿数: 2151
「*」が表示されているっていうことは、すでにクラッシュが
回避されていると受け取っていただいていいと思います。

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-5-19 15:28
sigeno56  長老   投稿数: 336
変数に格納出来る値の許容を超えた場合と
変数に値は正常に格納されているが表示桁数が足りない場合と
2パターンあるのでしょうね。

後者の場合は表示する桁数を1桁増やすだけで
*******表示から数値表示に復活する場合も
有ったように思いますので。。。。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-5-19 15:43
Tanda  長老   投稿数: 2151
Magicはその両方に対応していますから大丈夫ですよ。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-9-24 3:52
sigeno56  長老   投稿数: 336
つまり項目更新や代入式で
ABS(数量×単価) > 99,999,999 ならエラー
という警告表示、エラー表示をしている人もいる
かもしれないが、異常終了する訳でもないし

**,***,***円といった表示にもなり見た目でも
判別つくし、そもそもそういった入力が行われる
可能性も低いといった事などにより記述する方は
少ないのかもしれませんね。

Magicに接する事の少ないテスターがテストを行うと
こういった内容もテスト項目に含まれ、無駄な工数を
使ってしまうのではないかと懸念されます。
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約