Cコードで作成した非常に単純なプログラムをJavascriptに変換しています。コードは同じですが、コードをJavascript構文に変更しました。何らかの理由で、JavaScript言語での単純な計算では、Cでの計算とは異なる結果が得られます。以下を参照してください。いくつかの変数値が同じであるかどうかを確認するために、いくつかのテストを行いました。すべて、S、S1、S2、V1、V2、T4、LCPは同じです。しかし、T2の値は異なります。
S = lesserofcalc(S1,S2);
alert("S1--->" + S1);
alert("S2--->" + S2);
alert("S--->" + S);
//printf("S1:%.2lf | S2:%.2lf | S:%.2lf | T4:%.2lf | V1:%.2lf | K2P:%.2lf \n",S1,S2,S,T4,V1, K2P);
if (LCPK<=LCPRATE*YY){
LCP = LCPK;
} else {
LCP = LCPRATE*YY;
}
V2 = OHP();
V2 = roundFIX(V2);
alert("V1--->" + V1);
alert("V2--->" + V2);
alert("T4--->" + T4);
alert("LCP--->" + LCP);
T2 = T4+V1+V2-S-LCP; *GIVING DIFFERENT VALUE FROM C ????*
alert("T2--->" + T2);
T2 = roundFIX(T2);
Cプログラム:
S = lesserofcalc(S1,S2);
printf("S1-----> %.2lf \n", S1);
printf("S2-----> %.2lf \n", S2);
printf("S-----> %.2lf \n", S);
//printf("S1:%.2lf | S2:%.2lf | S:%.2lf | T4:%.2lf | V1:%.2lf | K2P:%.2lf \n",S1,S2,S,T4,V1, K2P);
if (LCPK<=LCPRATE*YY){
LCP = LCPK;
} else {
LCP = LCPRATE*YY;
}
V2 = OHP();
V2 = roundFIX(V2);
printf("v1-----> %.2lf \n", V1);
printf("V2-----> %.2lf \n", V2);
printf("T4-----> %.2lf \n", T4);
printf("LCP-----> %.2lf \n", LCP);
T2 = T4+V1+V2-S-LCP;
printf("T2-----> %.2lf \n", T2);
T2 = roundFIX(T2);