タイトル : 報告 投稿日 : 2017/01/23(Mon) 11:47 投稿者 : SUZUKI
魔界の仮面弁士さん 色々ありがとうございます 少しソースが長いですが単純な計算式なので ご容赦願います Dim a As Double Dim b As Double Dim c As Double Dim d As Single Dim f As Double Dim g As Single Dim H As Single Dim J As Single Dim K As Single b = 2018.8 c = 27.03 d = 0.311 f = 553 H = 0.777 g = 1 J = 2 K = 1 a = b * c * H * d * g * (J / (K * f)) ^ 0.5 MsgBox(a) Dim a1 As Double Dim b1 As Double Dim c1 As Double Dim d1 As Double Dim f1 As Double Dim g1 As Double Dim H1 As Double Dim J1 As Double Dim K1 As Double b1 = 2018.8 c1 = 27.03 d1 = 0.311 f1 = 553 H1 = 0.777 g1 = 1 J1 = 2 K1 = 1 a1 = b1 * c1 * H1 * d1 * g1 * (J1 / (K1 * f1)) ^ 0.5 MsgBox(a1) Dim a2 As Decimal Dim b2 As Decimal Dim c2 As Decimal Dim d2 As Decimal Dim f2 As Decimal Dim g2 As Decimal Dim H2 As Decimal Dim J2 As Decimal Dim K2 As Decimal b2 = 2018.8 c2 = 27.03 d2 = 0.311 f2 = 553 H2 = 0.777 g2 = 1 J2 = 2 K2 = 1 a2 = b2 * c2 * H2 * d2 * g2 * (J2 / (K2 * f2)) ^ 0.5 MsgBox(a2) 上記で a は 現行のロジックです a1 は double 型の統一したもの a2 は decimal 型に統一したらどうなるか見ました a= 792.99973337178 a1= 792.999989866276 a2= 792.999989866276 ここで 言いたいのは実は値をエクセルで検証していたのですが エクセルの値=792.999989866276 自分はエクセルとvbの計算は合わないものと思っていました これが合うようになったのが実に感動ものです ありがとうございます |