No.2ベストアンサー
- 回答日時:
FIXは四捨五入ではなく、切り捨てなので、このようなことになります。
VBに限らず、浮動小数点(「NかけるeのM乗」の形で数を表す方式)は、乗除算の際にある程度の誤差を生じます。
Single型の場合、有効桁数は7桁、Double型で15桁です。
で、今回のケースは、この誤差のせいでFixの内側が1535.99999…になってしまっているのでしょう。
で、これをFix関数で変換すると、.9999の部分が切り捨てられて、1535になってしまうわけです。
解決策ですが、一旦、値を通貨型に変換すると良いです。
Fix(Val(20) * CCur(Val(76.8)))
このように書くと、浮動小数点の掛け算ではなく、通貨型の掛け算として扱われるので、計算の誤差が発生しなくなります。
また、変数を宣言するときに、
dim a as Currency, b as Currency
のようにしておき、
a=val("20"): b=val("76.80")
c=fix(a*b)
のようにしても良いです。
小数点以下に厳密さを要求するときは通貨型を使う!!
っていうふうに覚えておくと、この手のトラブルを未然に防ぐことが出来ると思います。
すごーい丁寧に教えてくださって、ありがとうございますっ!
小数型は、doubleか、singleがほとんどで、
かれんしー(英語、長いので略・・・)は、
いまいち使い方がわかりませんでしたー。
これを機にいっぱい調べられて、しかも教えていただいて、
すごく勉強になりました!
本当にありがとうございます!!
No.3
- 回答日時:
なるほど掛け算でしたか。
推測できなくてすいませんでした。
回答はARCさんのとおりですから、私は、VBの誤差について書かれたマイクロソフトのページを紹介しておきます。
参考URL:http://www.microsoft.com/mscorp/worldwide/japan/ …
こちらこそー(^^;
ほんと、ごめんなさい。++ありがとうございました!
そっか、microsoftに行けばけっこういろんな情報が集まりますよね。
早速見てみました。
さらに詳しく、知識を深められて、よかったです~!!
ありがとうございました。
No.1
- 回答日時:
質問が良くわからないのですが
a = 20
b = 76.80
であれば、
val(a)+val(b)
は、96.8
fixは小数点以下切り捨てなので、96
1535は、どこから出てきた値なのでしょう?
なお、四捨五入は、0.5を加算した値に対して、切り捨てをすれば、OKです。
VB6では、Round関数がありますが、日本での四捨五入とはちょっと違います。
ありがとうございます!+ごめんなさい
急いでかき間違えました。
val(a) * val(b)
の間違えです~(;;
ほんと、ごめんなさい。
私も、0.5を足したり、0.1をたしたり、formatしてみたり、
あと、roundも使ってみたのですが、小数点二桁の切り捨てって、
いつもうまくいかないんです~(vv;
さっそくの回答、ありがとうございますっ。
とってもうれしかったです!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 教育学 エクセルで小数点以下を四捨五入について教えてください。 2 2023/04/05 17:33
- 数学 昔の日本人の身長表記の尺や海外の身長表記のフィートはcmに直すと小数点がつきますが、その小数点はフィ 2 2022/04/12 21:26
- 統計学 教えてください! あるくじ引きには5枚に1枚の割合でアタリが入っていると宣伝しているが、実際には20 7 2023/05/29 09:10
- 環境学・エコロジー メタン 100 g を使って、コンバインドサイクル発電を行ったところ、34キロワット (34,000 2 2023/01/22 14:00
- 数学 無理数の数字の組み合わせ。無限の意味について 5 2022/05/28 22:53
- 数学 数学の答えと解き方を教えてください。 問:ある(人数の非常に多い)集団から無作為に6名を選んで身長を 4 2022/12/14 10:06
- Excel(エクセル) エクセルのセルの書式設定・ユーザー定義の条件設定について 1 2022/08/17 21:56
- 美術・アート 【Photoshop】設定したサイズが正しく反映されない事象の解決方法 1 2022/08/31 22:53
- 数学 参考文献の探し方(数学) 1 2022/07/19 01:09
- Excel(エクセル) Excel上で分からないことがあります。 他のシートからコピー→貼り付けしたのですが図のようになって 4 2023/05/29 19:16
このQ&Aを見た人はこんなQ&Aも見ています
-
カンパ〜イ!←最初の1杯目、なに頼む?
飲み会で最初に頼む1杯、自由に頼むとしたら何を頼みますか? 最初はビールという縛りは無しにして、好きなものを飲むとしたら何を飲みたいですか。
-
大人になっても苦手な食べ物、ありますか?
大人になっても、我慢してもどうしても食べれないほど苦手なものってありますよね。 あなたにとっての今でもどうしても苦手なものはなんですか?
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
自分のセンスや笑いの好みに影響を受けた作品を教えて
子どもの頃に読んだ漫画などが その後の笑いの好みや自分自身のユーモアのセンスに影響することがあると思いますが、 「この作品に影響受けてるな~!」というものがあれば教えてください。
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
VB6.0での小数点の扱いについて
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access 1000以下を切り捨てる関数
-
負の数の四捨五入の方法
-
COBOLの計算方法
-
5%割引の際の、小数点以下の扱...
-
端数処理における「小数以下」...
-
今投稿して解決したのですが 更...
-
SwiftのDouble型の四捨五入につ...
-
PHPで計算問題
-
雇用保険料の計算式について(E...
-
ACCESSの切り上げ
-
駐車場賃料の日割り計算について
-
勤務の稼働時間の計算がわかり...
-
BCの長さを四捨五入して小数点...
-
なぜ消費税10%は×1.1なのですか...
-
法人税・消費税修正申告納付の仕訳
-
高速料金を請求する場合の消費...
-
電卓で指数計算できますか?
-
1個あたりの製産時間を算出した...
-
残りの97円はなんでしょうか?
-
アホな質問なのですが、30分を0...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
5%割引の際の、小数点以下の扱...
-
今投稿して解決したのですが 更...
-
駐車場賃料の日割り計算について
-
切り捨てて百の位までのがい数...
-
勤務の稼働時間の計算がわかり...
-
Excel有効数字の丸め方「0捨1入」
-
エクセルでの小数点以下切り捨...
-
Access 1000以下を切り捨てる関数
-
負の数の四捨五入の方法
-
50銭以下切り捨て51銭以上切...
-
COBOLの計算方法
-
小数点 第n位 を切り上げ,切り捨て
-
端数処理における「小数以下」...
-
数字の下二桁を削除したい
-
雇用保険料の計算式について(E...
-
BCの長さを四捨五入して小数点...
-
ADOで算術型のRound関数を使いたい
-
数字の double 型 を int型...
-
ACCESSの切り上げ
-
四捨五入できますか?
おすすめ情報