0

XLS スプレッドシートを Javascript ベースの Web ページに変換しようとしています。丸めエラーが発生していると確信しています。「セル」の値を取得してから関数を作成し、それらの関数の結果を使用して追加の関数を作成します。「o11=b5」のような冗長性があることは知っていますが、XLS ファイルをより厳密に複製し、変換しやすくするためにそれを行いました。

解決策としてどのような選択肢がありますか?

  var e17=parseFloat( $("#k_rcr").val())/100 ;
  var w16=parseFloat($("#k_nobt").val());
  var m12=e17*w16;
  var b5=parseFloat($("#k_nobt").val());
  var b6=parseFloat($("#k_asbw").val());
  var b7=parseFloat($("#k_spdb").val());
  var b8=parseFloat($("#k_ur").val())/100;
  var b9=parseFloat($("#k_bplm").val());
  var b11=b6/b7;
  var b12=b11*b8;
  var b13=b12*(b9*(52/12));
  var e5=parseFloat($("#k_dps").val());
  var b14=b13/e5;
  var m13=b14;
  var e6=parseFloat($("#k_fr").val())/100;
  var m14=m13*e6;
  var e18=parseFloat($("#k_alsr").val())/100;
  var e8=parseFloat($("#k_ba").val());
  var e9=parseFloat($("#k_pwm").val())/100;
  var m15=e18*e8*(1-e9); 
  var m16=m15*m14;
  var m17=m16*m12; 
  var e12=e8*(1-e9);
  var m18=(b5*m14*e12)-m17;
  var m19=parseFloat($("#k_wpv").val()); 
  var m20=m18*m19; 
  var o11=b5;
  var o13=b14;
  var o14=m14; 
  var o18=b5*o14*e12;
  var b17=parseFloat($("#k_wpv").val());
  var o19=b17;
  var o20=o18*o19;
  var o21=o20-m20; 
  var w12=0;
  var b20=parseFloat($("#k_tcpwp").val());
  var b21=parseFloat($("#k_vpwp").val());
  var w13=b20*m17;
  var w14=b21*m17;
  var w15=w12+w13+w14;
  var w16=b5;
  var w17=200;
  var w18=5;
  var w19=(w17*w16)+(w18*w16);
  var u15=0;
  var u19=0;
  var w20=(w15+w19)-(u15+u19); 
  var u25=0;
  var w25=0;
  var w26=u25-w25;
  var o29=w26; 
  var o21=o20-m20; 
  var m25=0;
  var o25=0; 
  var o26=m25-o25;
  var s29=w20;
  var q29=o26;
  var m29=o21;
  var k29=(m29+o29)-(q29+s29);


  $("#k_nibg").html( formatMoney( k29 ) );
  $("#k_bc").html( (m29/s29).toFixed(2) );
4

1 に答える 1

0

Excel が予想とは異なる丸め処理を行っていたことが判明しました。Excel でセルを小数点以下 4 桁に強制すると、Web バージョンと正確に一致しました。

于 2014-06-09T20:51:05.590 に答える