質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

1050閲覧

c# 期待している計算結果にならない

pofinpouty

総合スコア20

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2021/08/10 03:15

c#で以下のコードを実行すると、きたいしているあたいは6.4なのですが、6.39999…と表示されてしまいます。
原因がわかる方解説いただきたいです

C#

1 2static void Main(string[] args) 3 { 4 double a = 4.1; 5 double b = 2.3; 6 double sum; 7 sum = a + b; 8 Console.WriteLine(sum); 9 } 10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YAmaGNZ

2021/08/10 03:21

浮動小数点と誤差について調べてみましょう
退会済みユーザー

退会済みユーザー

2021/08/10 03:23 編集

浮動小数点ではマルメの誤差がでるのは避けられないということはご存じですか? ググってみてください。以下のような記事がヒットするはず。 浮動小数点数型と誤差 https://www.cc.kyoto-su.ac.jp/~yamada/programming/float.html プログラムによる小数点以下の計算で誤差が生じる原因と対処法2選 https://cyzennt.co.jp/blog/2019/08/10/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AB%E3%82%88%E3%82%8B%E5%B0%8F%E6%95%B0%E7%82%B9%E4%BB%A5%E4%B8%8B%E3%81%AE%E8%A8%88%E7%AE%97%E3%81%A7%E8%AA%A4%E5%B7%AE%E3%81%8C%E7%94%9F%E3%81%98/
hihijiji

2021/08/10 07:42

doubleは近似値を扱うもの 10進数の少数を扱えるのはdecimal
pofinpouty

2021/08/10 09:22

皆さんありがとうございます! 浮動小数点…聞いたことはありますが詳しくは知りませんでした。勉強し直します …この場合BAはどうすれば…
退会済みユーザー

退会済みユーザー

2021/08/10 09:32 編集

ご自分で回答欄に「浮動小数点数型と誤差について勉強します」とか書いてそれで解決・クローズしていただくようお願いします。
Zuishin

2021/08/14 10:42

マルチポストについて対応しろと言われてるのになぜ対応しないんだ?
pofinpouty

2021/08/14 13:18

マルチポスト…すいませんそれについても勉強します!
Zuishin

2021/08/14 14:12

いや勉強しますじゃなくて今すぐリンク先読んで対応しろよ。 中学生でもわかることしか書いてないから。
guest

回答1

0

自己解決

浮動小数点数型と誤差について勉強します

投稿2021/08/14 06:47

pofinpouty

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問