- 1 名前:デフォルトの名無しさん [2016/06/29(水) 04:39:09.19 ID:sT3gw8va.net]
- ■Visual Studio 2013 Community & Express(無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/ ■コードを貼る場合はこちら ideone.com/ ■前スレ C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/tech/1437808445/ C#, C♯, C#相談室 Part89 peace.2ch.net/test/read.cgi/tech/1443271409/ C#, C♯, C#相談室 Part90 echo.2ch.net/test/read.cgi/tech/1455160063/ ■次スレは>>970が建てる事。 建てられない場合は他を指定する事。
- 41 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 15:43:32.75 ID:sXHA9YNX.net]
- C# 〜〜の方が引っ掛かると思うぞ
- 42 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 15:57:20.24 ID:/bG0/Vab.net]
- Visual C#ならまだしもVC#だと無理だろw
そもそもここのスレタイ見て気づけとw
- 43 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 16:09:48.40 ID:dXiH2hED.net]
- 言語の話なら、C#
IDEの話なら、Visual Studio で検索するなぁ。 Visual C#
- 44 名前:チて単語で検索したこと無い。 []
- [ここ壊れてます]
- 45 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 16:10:29.12 ID:7hd/2RYR.net]
- >>40-41
ありがとう・・・ あたたかい・・・これがインターネットのぬくもりか
- 46 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 17:21:12.19 ID:mNZL1sAZ.net]
- 昔は # が検索できなかったから C# の検索は大変だったなw
- 47 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 18:00:51.26 ID:21c/Fb1J.net]
- 実行形式のアセンブリ(exe)なんだけど、他のアセンブリから参照されて
クラスライブラリ的にも利用されるアセンブリAがあるとします。 Aのコードの中で、自分が実行ファイルとして起動されたのか 他のアセンブリから参照されているのか判定する方法ってあります?
- 48 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 18:05:40.12 ID:9RtbpjtG.net]
- >>45
exeのエントリポイントで判断
- 49 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 18:10:00.83 ID:JPy01ADF.net]
- Assembly.GetEntryAssemblyかな
- 50 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 18:15:05.34 ID:21c/Fb1J.net]
- >>46
mainが実行されたかどうかで判定するってことですか? 泥臭いような気もするけどそれが確実ですかね... >>47 Assembly.GetEntryAssemblyとAssembly.GetExecutingAssemblyが同じかどうかで 判定する方法は自分も考えたんですが、もうすこし格好いい(笑)方法ないですかね。 とにかくどうもです。
- 51 名前:デフォルトの名無しさん mailto:sage [2016/07/11(月) 18:42:30.85 ID:aujF0DMP.net]
- >>39
CSharp
- 52 名前:デフォルトの名無しさん [2016/07/12(火) 12:39:20.12 ID:DwgB0X0X.net]
- 素人です
日時で 131112345678901234 のような 18 桁の既存データがありまして yyyy/MM/dd HH:mm:ss.fff に変換して表示したり 任意の日時からこの形式に変換して検索とかしたいのですが 1600年と9時間ずれてまして、、、これと多分同じだと思います stackoverflow.com/questions/18467157/converting-systemtime-native-c-to-datetime-c オフセットすればよいのでしょうがダイレクトに変換する方法があれば教えてください
- 53 名前:デフォルトの名無しさん mailto:sage [2016/07/12(火) 12:48:51.77 ID:dfUVeTds.net]
- 1600年w
- 54 名前:デフォルトの名無しさん mailto:sage [2016/07/12(火) 12:50:24.25 ID:sNZqT3ZR.net]
- >>50
試してないけど↓は使えない? DateTime.FromFileTime メソッド (Int64) (System) https://msdn.microsoft.com/ja-jp/library/system.datetime.fromfiletime(v=vs.110).aspx
- 55 名前:デフォルトの名無しさん mailto:sage [2016/07/12(火) 13:12:08.29 ID:tZSPgDcN.net]
- どの日でも 1600年と9時間のズレなら、 その数字から
ズレ分の数字を足したり引いたりするだけでいいんじゃねーの
- 56 名前:50 mailto:sage [2016/07/12(火) 13:13:59.61 ID:DwgB0X0X.net]
- すみません自己解決しました
FromFileTime ToFileTime というので出来そうです >>52 はい、その通りです
- 57 名前:デフォルトの名無しさん mailto:sage [2016/07/12(火) 13:14:11.68 ID:r71+yGRx.net]
- とりあえず変換関数にまとめてオフセットしとけばいいじゃないの
その値の出どころを特定できれば逆変換の関数も用意されてると思うけど
- 58 名前:デフォルトの名無しさん mailto:sage [2016/07/12(火) 21:41:05.53 ID:5gnI1m0l.net]
- どう見ても 9 時間は時差じゃね?
- 59 名前:デフォルトの名無しさん [2016/07/14(木) 09:16:24.08 ID:C+m8YTLM.net]
- roslyn for scriptingのcsxで、
ランタイムにコンパイルしたとき、コンパイルエラーなどの情報の取り方がわからないのですがどこかにドキュメントか情報ありますか?
- 60 名前:デフォルトの名無しさん [2016/07/15(金) 11:52:40.40 ID:hUkr60wB.net]
- CやC++はわかってるけど、C#もWindowsGUIも初めての人
が対象のお勧め本はありますか?
- 61 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 18:13:53.98 ID:ZmDm8hzp.net]
- >>58
C++でwinアプリを作れるならC#はかなり簡単らしいから本とかなくてもすぐ出来る用になると思うよ 「
- 62 名前:C# WPF」でぐぐるかやふればいい []
- [ここ壊れてます]
- 63 名前:57 mailto:sage [2016/07/19(火) 17:20:00.19 ID:v3yTzoHI.net]
- コンパイルエラーは例外で投げられてました
なかなかデバッグが捗らないけど とりあえずこれで頑張ります ツールでも作るか
- 64 名前:デフォルトの名無しさん mailto:sage [2016/07/25(月) 18:34:49.84 ID:TFIdnWtI.net]
- >>45
そんなのが分かったとして何に使うとよ
- 65 名前:デフォルトの名無しさん mailto:sage [2016/07/25(月) 18:36:17.01 ID:txLZaHuP.net]
- そもそもexeをライブラリとして使えた?
- 66 名前:デフォルトの名無しさん mailto:sage [2016/07/25(月) 18:43:48.98 ID:TBSuk6cv.net]
- >>62
DLLと同様に参照することはできる
- 67 名前:デフォルトの名無しさん mailto:sage [2016/07/25(月) 19:14:23.85 ID:txLZaHuP.net]
- >>63
つまりエントリポイントがあればexeにもdllにもなれる、なければdllのみって事か
- 68 名前:デフォルトの名無しさん mailto:sage [2016/07/25(月) 19:20:39.43 ID:TFIdnWtI.net]
- >>63
objフォルダとbinフォルダに同じdllやexeが入っているがどっちのフォルダを参照してもいい?
- 69 名前:デフォルトの名無しさん mailto:sage [2016/07/25(月) 19:35:04.16 ID:yBIpEw9W.net]
- >>65
exeはライブラリとして使ったことないけどDLLはビルド時に参照位置から必要な場所にコピーされるだろ
- 70 名前:デフォルトの名無しさん mailto:sage [2016/07/26(火) 17:32:31.16 ID:7lk5fbdf.net]
- >>45
getmodulename
- 71 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 15:50:07.60 ID:a4noEYcd.net]
- 12.3456789 度っていうdegの出力を12.34にするにはどの関数を使えばできますか?
出力はdoubleでも構いません
- 72 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 15:52:18.56 ID:NbFJgIpb.net]
- 100倍して小数点以下切って100分の1
- 73 名前:デフォルトの名無しさん mailto:sage [2016/08/01(月) 22:18:47.79 ID:p/i6dojq.net]
- >>69
有効数字を切る関数ってないんですね できました、ありがとうございました
- 74 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 21:09:59.79 ID:bZmJ9j82.net]
- ##.00のフォーマットじゃだめなのん?
- 75 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 21:12:38.19 ID:l2W1ufxp.net]
- フォーマットって四捨五入じゃなかった?
てか一度文字列化してまた数値に戻すとか無駄ありすぎでしょ
- 76 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 21:31:28.58 ID:1biageaY.net]
- >>72
四捨五入されるのか? https://msdn.microsoft.com/ja-jp/library/0c899ak8%28v=vs.110%29.aspx 表示に使うか計算を続けるかで変わるが 個人的に表示なら.ToString("F2")とかを良く使っているな dobon.net/vb/dotnet/string/inttostring.html 数値として使い続けるのなら>>69のやり方一択だが
- 77 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 21:40:43.95 ID:fbhAMiPd.net]
- こういうのってMath.Truncateで標準実装して欲しいよな
- 78 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 21:49:13.47 ID:l2W1ufxp.net]
- >>73
両ページの例見りゃ分かるけど四捨五入してるじゃん それと今回の質問は切り捨てだからそれじゃ要件満たさない
- 79 名前:デフォルトの名無しさん [2016/08/02(火) 22:08:08.02 ID:kMeLb5Qs.net]
- 丸めなら、double Round( double value, int digits, MidpointRounding mode )でmodeをAwayFromZeroにすれば行けるな。
- 80 名前:デフォルトの名無しさん [2016/08/02(火) 22:09:05.46 ID:kMeLb5Qs.net]
- 丸め→四捨五入
- 81 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 22:21:50.97 ID:tn1deP8x.net]
- >>75
今回の例だと、切り捨てたいのか銀行丸めで良いのかわからんのだが
- 82 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 22:38:02.66 ID:HL5T2dK4.net]
- >>73
2ケタなら問題ないだろうけど、もっと下のケタで切り捨てる時に そのやり方で誤差が出ないか(意図と違って切り上げになったりしないか)ちょっと疑問かも。
- 83 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 22:46:11.79 ID:HL5T2dK4.net]
- かといってどうすりゃいいのかよく分からんな。
static double Truncate(double x, int decimals) { if (x == 0) return 0; var round = Math.Round(x, decimals, MidpointRounding.AwayFromZero);
- 84 名前:
if (round / x <= 1) return round; var digit = Math.Sign(x) * Math.Pow(10, 1 - decimals); return Math.Round(round - digit, decimals); } これじゃ何か無駄っぽいし [] - [ここ壊れてます]
- 85 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 08:09:04.52 ID:izDrDrnm.net]
- >>74
切り捨てや切り上げは丸めと違って誤差が影響した場合のインパクトが大きいから実装したくないんだろ 「0.0999999999999999」の切り捨ての結果は大抵のプログラマは0.1を期待してるだろうけど、普通に実装したら0.0になるわな
- 86 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 08:20:28.03 ID:rSz0AB29.net]
- 実装されてないのは桁数を指定した切り下げ、切り上げだよ
桁数指定できないのはあるだろ
- 87 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 08:38:06.19 ID:nNYUFf9P.net]
- > 「0.0999999999999999」の切り捨ての結果は大抵のプログラマは0.1を期待してるだろうけど、
いや、それは無い
- 88 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 11:13:35.07 ID:8916Nt3B.net]
- 切り捨て?
- 89 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 11:16:43.05 ID:ZXeq6keH.net]
- 丸めが気になる数字にdouble使うのはどうかしているだろ
decimalは何のためにあるのかね
- 90 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 11:22:03.76 ID:vCrtu5C1.net]
- decimalって関係あるのか?
動的型付けのキーワードなのに
- 91 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 11:35:20.08 ID:wuBisWbe.net]
- >>85
その発想がおかしいw 問題意識が逆立ちしてるなw
- 92 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 12:41:58.26 ID:jT3/wbav.net]
- >>86
もしかして:dynamic decimalはこっち https://msdn.microsoft.com/ja-jp/library/364x0z75.aspx >>decimal キーワードは、128 ビットのデータ型を示します。 >>decimal 型は、浮動小数点型よりも有効桁数が多く、範囲が狭いので、財務や金融の計算に適しています。
- 93 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 12:48:18.71 ID:vCrtu5C1.net]
- >>88
あっそっちか dから始まるクソ長いキーワードとして覚えていたから勘違いした
- 94 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 17:46:25.42 ID:qqYjumI6.net]
- >>85
doubleならそれほどでもないと思うが singleならともかく そもそも特定の桁から下切って使い続けるってめったにないだろうし 誤差許容範囲を作るのにやったことはあるな
- 95 名前:デフォルトの名無しさん [2016/08/03(水) 17:52:51.31 ID:vCrtu5C1.net]
- NLuaからC#のジェネリック型を使うにはどうすればいいでしょうか?
List<T>を使いたいです
- 96 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 18:26:06.69 ID:oiDTcOGH.net]
- NLuaの作者に聞いたら?
- 97 名前:デフォルトの名無しさん [2016/08/03(水) 18:29:01.37 ID:vCrtu5C1.net]
- >>92
国産じゃないので無理です
- 98 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 18:32:02.06 ID:oiDTcOGH.net]
- C#も国産じゃないからこのスレで質問するな
- 99 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 18:36:54.29 ID:vCrtu5C1.net]
- >>94
国産じゃないから作者に質問できないって言ってるんですが
- 100 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 18:41:13.99 ID:rSz0AB29.net]
- wwww
そんなくだらないことで作者の手を煩わせるなよ その手はここで聞くよりstackoverflowの方が早くて確実だと思うぞ
- 101 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 19:20:36.10 ID:OMwBzZOo.net]
- まあ安っぽい煽りにのって見当はずれなレスつけるくらいなら2chやらない方がいいな
- 102 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 21:01:35.46 ID:MkOQGcCX.net]
- decimal と dynamic の区別もつかない子なんだから
みんな優しくスルーしてあげようよ
- 103 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 21:15:10.43 ID:LSSVX5ne.net]
- >>98
普通の長さの単語なのにねぇ。
- 104 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 21:30:26.93 ID:o77xN4AH.net]
- decimal
default delegate do double descending dynamic
- 105 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 21:34:28.09 ID:vCrtu5C1.net]
- default
delegate do double はよく使うから覚えてるけどdecimal、descending、dynamicは使ったことないから許して
- 106 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 21:35:21.21 ID:vCrtu5C1.net]
- descendingってLINQのキーワードか
- 107 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 21:43:15.83 ID:R02UCwO4.net]
- 85だが、dynamicくんは良いとして、87の人がキレた理由がさっぱり分からん
本人でも他の人でも良いけど解説してもらえないでしょうか?
- 108 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 21:50:10.97 ID:wuBisWbe.net]
- >>103
キレてるように見えないとおもうけどw 特に理由がないならdecimalのような高コストな型の使用は避けるのは当たり前だw 浮動小数の演算は誤差を生む可能性があるが、それは必用な精度を確保する手段がない ことを意味してない。
- 109 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 21:50:37.36 ID:DDCmgbTU.net]
- 計算するときに丸め気にしないことなんてないから、doubleの必要性がなくなる
- 110 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 22:49:52.73 ID:R02UCwO4.net]
- >>104
丸めが問題になる金融系だとdecimal使うのは常識だろ decimalのコストが気になるほど速度にシビアでdobleの丸め誤差が気になる場面はめったにないな 金融の大規模な計算はDBにやらせるのが筋だし
- 111 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 23:06:36.38 ID:wuBisWbe.net]
- だから誰も金融系の話なんかしてないでしょ。
何をいってんの。 「丸めが気になる数字にdouble使うのはどうかしている」なんて寝言を言ってる奴がいるから そんなことはねえよ、そういう話だよ。
- 112 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 23:13:17.50 ID:R02UCwO4.net]
- >>107
金融系除いて、decimal使えないほど速度にシビアで丸め誤差が気になる場面って一体何時起こりえるの?
- 113 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 23:20:57.08 ID:+uSGRXQT.net]
- 機械学習とかイメージングは演算誤差が大敵
かつ速度も要求される
- 114 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 23:25:25.51 ID:+uSGRXQT.net]
- かといって高精度整数を扱うのにはコスト的に無理があった彼らは
べらぼうにサンプルを増やして誤差を均一化するか, 補完法を改良することでお茶を濁した
- 115 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 23:37:11.41 ID:R02UCwO4.net]
- >>110
後、もう一つ大事な条件書き忘れていた 「C#で」
- 116 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 23:42:43.18 ID:fJKhNvbj.net]
- >>109
「誤差」という言葉でひとくくりにしすぎ。 そういう一般的な数値処理は誤差が許容範囲以下であればいいんであって、丸め誤差の問題とは やや性質が違う。そもそも処理の途中でいちいち丸めないし。
- 117 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:05:21.11 ID:Vi80rqnk.net]
- >>108
何を言ってるのか意味がわからないけど、繰り返しになるが 必用もないのに高コストなdecimalを使う理由はないし、そんなプログラマもいません。 理屈を分かってないダメグラマは別にしてね。
- 118 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:09:13.58 ID:5NqeNpQm.net]
- 予想通り言いがかりでしたw
- 119 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:09:46.86 ID:cADM294i.net]
- たとえ遅くても演算誤差でバグが発生しない方を俺は使うね
- 120 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:15:15.90 ID:oWVthcOw.net]
- decimalとdoubleでそんなにコスト違うのかね
誤差とコストでどっちとるって話だが まあそのコスト差すら気にするコストにシビアな環境なら気を付ければいいさ そこまでシビアな環境でC#を使うこと自体の意義を問い詰めたいけどな 通常は多少のコストで誤差がなくなるなら、そっち選ぶと思うけど
- 121 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:17:30.28 ID:5NqeNpQm.net]
- >>113
>必用もないのに高コストなdecimalを使う理由はないし だから具体的にdoubleで問題が出る(=丸め誤差が問題になる)C#のジョブを書いてくれよ 想定なしなら言いがかりだよね
- 122 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:20:22.77 ID:Vi80rqnk.net]
- 当たり前だけどdecimal使ったって誤差を無くせるわけじゃないよw
doubleみたいに基数2の浮動小数であることに起因する誤差を無くせるだけ。 無理数が有限の情報量で表現できるわけないでしょw
- 123 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:23:01.22 ID:Vi80rqnk.net]
- >>117
だから何を言ってるの?意味が分からん。 俺はdoubleにはその手の演算誤差があっても必用な精度を確保する手段はあるから 無暗にdecimalなんか使わずにdoubleを使うのが普通だと言ってるんだけど。 何が「だから」だよ。
- 124 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:24:34.98 ID:5NqeNpQm.net]
- 最初のレスから「丸め」と書いてあるのに今更何言ってるんだかw
- 125 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:27:02.95 ID:Vi80rqnk.net]
- >>120
- 126 名前:
その「丸め」って言葉を恐らく君は誤用してるんだけどねw []- [ここ壊れてます]
- 127 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:27:22.12 ID:oWVthcOw.net]
- 0.1が正確に表現できない環境が普通なやつとは話が合わんな
- 128 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:27:46.10 ID:5NqeNpQm.net]
- >>119
最初から「丸めが気になる数字にdouble使うのはどうかしているだろ」と言っているのに日本語判らないのかな? 気にならなければdouble使えばいいだけだろ
- 129 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:31:49.11 ID:Vi80rqnk.net]
- >>123
じゃあ聞くけど、そもそも「丸めが気になる数字」ってどういう意味? 言葉通り受け取ると全然理解不能なんだけど
- 130 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:33:41.63 ID:5NqeNpQm.net]
- >>121
浮動小数点は2進数表現だが、実際に使われている10進数を完全に表記できないから 誤差が生じるってこと以外の丸め誤差を書いてくれ 俺は何と勘違いしているんだ?
- 131 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:34:26.87 ID:oWVthcOw.net]
- Vi80rqnkの主張は普通はdoubleで良いだろって主張なのは理解できるが
5NqeNpQmの主張は俺にもいまいちよくわからん
- 132 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:34:43.49 ID:bt/hw+Ix.net]
- 相談内容置いてきぼりの議論は、
このスレ使ってあげて。 ふらっと C#,C♯,C#(議論用) echo.2ch.net/test/read.cgi/tech/1469538912/
- 133 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:37:31.68 ID:Vi80rqnk.net]
- >>125
何言ってるんだか意味がわかりません。 誰と戦ってるの?w
- 134 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:41:16.26 ID:5NqeNpQm.net]
- >>128
細かいことが気になるならdecimalを使って、気にならないならdouble使えばいいってことだよ decimalを目の敵にしているのか理由が分からん そもそもアンタはdoubleで問題になる具体例を出せないじゃないか
- 135 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:46:58.32 ID:Vi80rqnk.net]
- 何でdoubleで問題ないからdouble使えって言ってる人間に
doubleで問題になる具体例を求めるんだよw 意味わかんないよw
- 136 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 00:51:13.09 ID:5NqeNpQm.net]
- >>130
丸めが気になるならdouble駄目じゃんw そういう時はdecimal使えよ
- 137 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 01:04:42.73 ID:Vi80rqnk.net]
- だから「丸めが気になる」ってどういう意味?w
- 138 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 01:07:56.03 ID:5NqeNpQm.net]
- >>132
>その発想がおかしいw ってレスしておきながらいまさら・・・
- 139 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 01:09:13.13 ID:Vi80rqnk.net]
- あのねえ、こんなの学部のプログラミングの最初の講義で習うような話だと思うけど、
https://ideone.com/8wrQC7 何も考えずにdoubleを使うと上のgrossの結果にあるように演算結果に誤差が 出ちゃうことがあるけど、ちゃんと誤差の性質を理解していれば、何度も言ってるように 必用な精度を得ることが出来るんですよ。
- 140 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 01:57:41.32 ID:kCsBXGZ7.net]
- >>134
これって最後に Math.Round してるのは答えが 100000 になるって知ってるから? それとも必要な精度の1つ下の位を Math.Round しておけばどんな計算でもOKなの?
- 141 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 02:15:13.20 ID:Vi80rqnk.net]
- >>135
有効数字が小数的1桁の数字(delta)を何回加減算しても 結果の有効数字は小数的1桁 だから累積誤差が±0.05を超えない限り、小数点1桁で丸めた値は必ず 数学的に正しい値になる。 もちろん演算結果の桁数(指数表記した時の仮数部の桁数ね)があまりに大きい (doubleの場合確か16桁ぐらいだと思ったけど)と正しい結果にはならないけどね。
|

|