税計算の時、内税と外税を区別するには?

解決


マモ  2005-07-24 23:20:24  No: 123653

If文を使っているんですがうまく計算されませんどのようにすればいいですか?


  2005-07-25 02:31:50  No: 123654

フラグとか立ててるんですか?
内税と外税の判断、どこでつけてます?


マモ  2005-07-25 04:45:15  No: 123655

Dim zeinosyurui() As Integer = {0, 1}と書いて、zeinosyuruiが0のとき無税で、1のとき有税です。


  2005-07-25 05:46:45  No: 123656

#書き方統一して下さい。無税と有税じゃなく、内税と外税で。

別に配列にする必要ないと思うんですが。
>Dim zeinosyurui() As Integer = {0, 1}
↑これ。
普通の変数にして、IntegerじゃなくてもBooleanでもOKだと思います。


マモ  2005-07-25 06:11:01  No: 123657

影さん返信ありがとうございます。
やっぱりうまくいきません、下のように書いています。
どこを直せばいいでしょうか?
        Dim zeinosyurui() As Boolean = {0, 1}
        Dim suryou, tannka, zeigaku, gokei As Integer
        Const zeiritu As Double = 0.5

        tannka = Val(PriceBox.Text)
        suryou = Val(QuantityBox.Text)
        zeigaku = Val(Tax.Text)

        If zeinosyurui(0) Then
            zeigaku = suryou * tannka * 0
            Tax.Text = Format(zeigaku, "#,##0")
            gokei = suryou * tannka
            Total.Text = Format(gokei, "#,##0")

        Else
            zeigaku = suryou * tannka * zeiritu
            Tax.Text = Format(zeigaku, "#,##0")
            gokei = suryou * tannka + zeigaku
            Total.Text = Format(gokei, "#,##0")
        End If


さくら  2005-07-25 08:09:30  No: 123658

>Dim zeinosyurui() As Boolean = {0, 1}
はちょっと置いといて・・・
>Const zeiritu As Double = 0.5
をConst zeiritu As Double = 0.05
にすればOKでは??


ガッ  2005-07-25 08:21:31  No: 123659

「うまく」計算させたいようですが、
どうすれば「うまくいった」状態なのか、構想はすでに出来上がっていますか?
> If zeinosyurui(0) Then
これではzeinosyurui(0)は常に0なので、条件式として意味がありませんよね?
→どうすればよく分岐してくれるかは、
  貴方の頭のなかにしかないと思われます(orz


  2005-07-25 08:28:52  No: 123660

税率50%は厳しい…(笑)

フラグ使ってないですね。
ガッさんも指摘なさってますけど。


マモ  2005-07-25 08:49:40  No: 123661

税率は50%でいちよ合っています…。
zeinosyuruiのテキストボックスに0か1を入力して、0のとき外税で、1のとき内税で計算させたいんですがどう修正すればいいですか?


ガッ  2005-07-25 08:57:52  No: 123662

> 税率は50%でいちよ合っています…。
…マジ?!>Σ

> zeinosyuruiのテキストボックスに0か1を入力して、
> 0のとき外税で、1のとき内税で計算させたいんですがどう修正すればいいですか?
じゃぁ2のときは?3の時は?空白なら?
と、色々例外を書きたくなる今日この頃ですが、とりあえず、
dim sel as string=zeinosyurui.Text
if sel="0" then
  ..0のときの処理
else If sel="1" then
  ..1のときの処理
end if
となるのだと思います。
※.NEETは分からないので、憶測です。


マモ  2005-07-25 09:05:08  No: 123663

ガッさんありがとうございます。
何とか自分がしたいようになりました。


通ってみた  2005-07-25 18:48:54  No: 123664

関係ないことかもしれないけど、

>>zeinosyuruiのテキストボックスに0か1を入力して、0のとき外税で、1のとき内税で

これをラジオボタンにした方がいいのではないかと


いな  2005-07-25 19:31:47  No: 123665

某システムでは
課税区分は外税、内税、非課税と3パターン

そのシステムであつかうのは全て課税対象なんだろうか?

設計やったことがあるならばすぐ気づくだろうけど
そっちの方が気になる。

#これをラジオボタンにした方がいいのではないかと
リストボックスでもいいね。


ねろ  2005-07-26 04:24:09  No: 123666

どうでもいいことなのかも知れませんが、税金って小数点以下は切捨てでは?
Total.Text = Format(gokei, "#,##0")
これでいいの?
税率50%なので消費税ではないと思われるのだが、当方これでとても痛い目に
有った経験あり。
一個10円の品物を10個買って105円払った人が1個返品した時は、いくら払い戻す
のが正解なんだろ、悪夢がよみがえってくる。


マグ  2005-07-26 19:58:18  No: 123667

痛い目に有ったって・・・・・
1円ぐらいしか差がないと思いますが・・・・
消費税を切り上げ、切り下げどちらかを選ぶのは店によって、違いますけど・・・・・


いな  2005-07-26 20:57:49  No: 123668

>1円ぐらいしか差がないと思いますが・・・・
マグさん学生だね?

税関係を扱うシステムでは、
むしろ、1円違う障害を改修するのにどれだけ苦労することか?


たくみ  2005-07-26 23:24:02  No: 123669

あの、ふと思ったのですが
もう解決されてるようなのでなんなのですけど、
これってそもそもデータベースとかいっさい使ってないの?
普通どっかの部分でなにかしら使ってると思うので
だったら(あくまで例えばですよ)得意先マスタテーブルのお尻に
消費税(フラグ or 生の%)項目を設けて元ネタにしてマッチング処理
すればいいんではと。。
(得意先ごとにあらかじめ自由に%設定する考え)

(あ、言ってるのは消費税の演算手法そのものの話しでなくその前の
フラグ処理とかラジオボタンがうんぬんの処理材料の話しです。)

そういうふうに静的に用意したらだめで、そのたんびに(実際に)
オペレータがラジオボタンとかで指定ないといけない場面って
あるのかしら?かなり不便ですよね?

# 私も過去1円違いで何度も泣きました。
商業関係(在庫管理とか販売管理とか)のシステムを組んだら
いやというほどわかりますよ。>マグさん
(CADなど技術演算系畑の方でしたらやるまではバカにしてるかも
しれません。が、やってみるとこれが、、、という意味です。)


ささ  2005-07-26 23:51:38  No: 123670

>オペレータがラジオボタンとかで指定ないといけない場面って
>あるのかしら?かなり不便ですよね

http://www.nec.co.jp/press/ja/0305/3003.html
NBKも実はVB6+(Oracle)を使っているけれども
実際初期表示は、マスタを参照して、手入力で変更可能にする。
となってる。
そういった要望って結構あるわけね。この辺は、仕様の問題だと思う。
#提案しているとは思うけどね。画面設計の段階で、


マグ  2005-07-27 17:16:43  No: 123671

>マグさん学生だね?

そうです。
でも、これだけで、見破られるんですか?

>税関係を扱うシステムでは、
>むしろ、1円違う障害を改修するのにどれだけ苦労することか?
>商業関係(在庫管理とか販売管理とか)のシステムを組んだら
>いやというほどわかりますよ。

そのようなシステムを組む理由がなかったし、組んだことがないので、
1円違いってどれほど、痛い目に合うか分かりませんが、
言われてい見ると、在庫管理、販売管理で1円違ってきたら、
痛い目に合いそうな気が・・・・・


葉月α  2005-07-27 17:58:03  No: 123672

税に限らず
1円1銭のずれで大半が命取り・・・
今日の為替レートは・・・
1銭ずれてたら世界中は大慌て

いかほどの損害賠償かのう(汗

学校の課題なら切り上げ・四捨五入・切り捨ては
大目に見てくれるが
業務となるとそうもいかないのよ・・・

ゆえにマグさん学生ということが想像できるわけ

確かに難しい知識や技術も持っているに越したことは無いが
その辺は結構後付けで何とでもなると思うからねぇ
むしろより速く的確に顧客の要望に答えるのも必要ですから・・・


いな  2005-07-27 19:23:19  No: 123673

> そうです。
> でも、これだけで、見破られるんですか?

ん〜、見破れた理由は「葉月α 」さんが答えてくれてるので割愛、
人間が手で計算すると金額のミスをしやすいから、
こういった業務系プログラムを導入するのも一因で、
そのために導入した業務系プログラムで金額計算が狂っていたら、
導入するメリットは何も無いわけよ。


ねろ  2005-07-27 20:13:44  No: 123674

># 私も過去1円違いで何度も泣きました。
>商業関係(在庫管理とか販売管理とか)のシステムを組んだら
>いやというほどわかりますよ。
加重平均、合いませんね、困るのは正しい誤差なのか、どこかが
間違っている為の差なのか検証が難しい。
一応誤差のMaxの理論値を計算して、それ以下ならOKとするのだが。

消費税は更に厄介
http://www.trade-t.com/news07.htm
低価格商品を含む場合はこんなのが標準なんだろうか、これに返品処理を加えたら、
消費税関連ソフトは、標準工数x1.5位にしないと合わない予感が。
更にこんな時限立法まである。
http://www.matsubakaikei.com/body/column/column70.html

消費税で切り上げは見たことがないが、切り上げは切り上げで又別の問題が
ExcelでRoundUp(100.001,0)とやると信じられないのだが(私だけか)101が返る、
VBのプログラムをExcelで検算したら、ここが合わずに一汗二汗。


マグ  2005-07-27 22:49:35  No: 123675

葉月αさん、いなさん、ねろさん、ありがとうございました。
確かに学校の課題って指示がない場合、
小数点以下をどうしようが自由になっていますね。

>こういった業務系プログラムを導入するのも一因で、
>そのために導入した業務系プログラムで金額計算が狂っていたら、
>導入するメリットは何も無いわけよ。

確かに計算が狂っていたら、自分でも使わないかも?
今まで、小数点以下を切り捨てたり、切り上げたりしていて、
こんなものでいいでしょう。っと考えた自分って・・・・・
今後、そのような部分を細かく注意してコーティングしてみます。

消費税での計算結果に四捨五入をするなんて、知りませんでした。

>消費税で切り上げは見たことがないが、切り上げは切り上げで又別の問題が
>ExcelでRoundUp(100.001,0)とやると信じられないのだが(私だけか)101が返る、

RoundUp関数ってそういう仕様ではないのでしょうか?
「少数第0位で切り上げする」という意味だったと思いますが、
四捨五入ならRound関数の方だったような記憶が・・・・・


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加