台灣最大程式設計社群網站
線上人數
1255
 
會員總數:246203
討論主題:189774
歡迎您免費加入會員
討論區列表 >> ASP >> 計算後的數值,比較大小後,無法代入正確的內容
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
計算後的數值,比較大小後,無法代入正確的內容
價值 : 500 QP  點閱數:991 回應數:11
樓主

wowo
門外漢
0 6
713 18
發送站內信

dear 各位大大

因希望依填入的數值
自動計算後
比較大小
並填入比較後對應的文字

自動計算的部份,在線上請教各位大大後
以得到解決
但是計算後的比較
填入的數值確並非我想的那樣

正常來說應該是 0.5>0.01
但是程式判斷 0.5<0.01

我也檢查不出那裡有問題
煩請各位大大協助看看



之前 迷路 大大有教我要用 程式標籤
如果沒有正確使用 程式標籤
請能耐心幫我看看我的程式
謝謝




程式標籤:
&<;&lt;textarea name="code" class="c#"&>;&gt;



<html>

<head>
<meta http-equiv="Content-Language" content="zh-tw">
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>三板引導塊強度計算</title>
<base target="_self">

<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="Microsoft FrontPage 4.0" name=GENERATOR>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="Microsoft FrontPage 4.0" name=GENERATOR>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="Microsoft FrontPage 4.0" name=GENERATOR>
<style type="text/css">
.90 {
}
</style>
</head>
<script language="JavaScript">
function calc1() //計算公式,當再表單中按下C欄位的時後,就會被執行
{
var varL2=document.form1.varL2.value;
var varL3=document.form1.varL3.value;
var varL=document.form1.varL.value;
var varb=document.form1.varb.value;
var varh=document.form1.varh.value;
var varP=document.form1.varP.value;
var varI=document.form1.varI.value;
// var varJ=document.form1.varJ.value;
var varK=document.form1.varK.value;
var varX=document.form1.varX.value;
// var varY=document.form1.varY.value;
var varZ=document.form1.varZ.value;
var result; //宣告結果儲存的空間
result= (1*varL2)*2/3;
document.form1.varI.value=FormatNumber(result,2); //開模後抱持長度

result= 10*((12*(1*varP)*0.5*(1*varL)*0.1*(1*varL)*0.1*(1*varL)*0.1)/(3*2100000*(1*varb)*0.1*(1*varh)*0.1*(1*varh)*0.1*(1*varh)*0.1));
document.form1.varX.value=FormatNumber(result,5); //導軌的撓曲度


if( varI = varL3 ) //-------2/3判斷
{ document.form1.varJ.value = "=";
document.form1.varK.value = "OK"; }
else
{ if(varI < varL3)
{ document.form1.varJ.value = "<";
document.form1.varK.value = "OK"; }
else
{ document.form1.varJ.value = ">";
document.form1.varK.value = "NG"; }
}

if( varX > 0.01 ) //-------判斷撓曲
{ document.form1.varY.value = ">";
document.form1.varZ.value = "NG"; }
else
{ if( varX < 0.01)
{ document.form1.varY.value = "<";
document.form1.varZ.value = "OK"; }
else
{ document.form1.varY.value = "=";
document.form1.varZ.value = "OK"; }

}
}


</script>
<BODY bgcolor="#FFFFFF" text="#000000" background="../其他照片/愛心2.gif">
<form name="form1" method="post" action="">
<table border="1" cellpadding="10" height="282" width="667">
<tr>
<td height="258" width="639"><img src="圖檔/3plate.png" width="700" height="335" alt=""/>
<p align="center"><span lang="EN-US" style="font-size:12.0pt;font-family:
&quot;Times New Roman&quot;;mso-fareast-font-family:新細明體;mso-font-kerning:1.0pt;
mso-ansi-language:EN-US;mso-fareast-language:ZH-TW;mso-bidi-language:AR-SA"> <!--[if gte mso 9]><xml>
<o:OLEObject Type="Embed" ProgID="AutoCAD.Drawing.14" ShapeID="_x0000_i1025"
DrawAspect="Content" ObjectID="_1115892264">
</o:OLEObject>
</xml><![endif]-->
</span>
</p>
<p>L2:調整塊長(mm)</p>
<p>L3:開模後,調整塊抱持的長度(mm)</p>
<p>L:導軌凸出承板的長度(mm)</p>
<p>b:導軌深度(mm)</p>
<p>h:導軌寬度(mm)</p>
<p>P:承板以上的動模重+頂出板重(kg)</p>
<br>
L2:<input name="varL2" type="text" size="7">mm&nbsp;&nbsp;
L3:<input type="text" name="varL3" size="7">mm&nbsp;&nbsp;
L:<input type="text" name="varL" size="7">mm&nbsp;&nbsp;
b:<input type="text" name="varb" size="7">mm&nbsp;&nbsp;
h:<input type="text" name="varh" size="7">mm&nbsp;&nbsp;
P:<input type="text" name="varP" size="7">kg
</p>
<p style="line-height: 150%">調整塊(L2)的2/3長度
<input type="text" name="varI" onclick="calc1()" size="8">
<input type="text" name="varJ" onclick="calc1()" size="1">
L3;判斷是否大於2/3<input type="text" name="varK" onclick="calc1()" size="8">

</p>
<p style="line-height: 150%">每塊導軌撓曲度(內定2塊導軌)
<input type="text" name="varX" onclick="calc1()" size="8">
mm
<input type="text" name="varY" onclick="calc1()" size="1">
0.01mm;導軌撓曲量
<input type="text" name="varZ" onclick="calc1()" size="8">
</font>
</p>
</td>
</table>
</form>
<SCRIPT LANGUAGE=javascript>
function FormatNumber(srcStr,nAfterDot){
  var srcStr,nAfterDot;
  var resultStr,nTen;
  srcStr = ""+srcStr+"";
  strLen = srcStr.length;
  dotPos = srcStr.indexOf(".",0);
  if (dotPos == -1){
    resultStr = srcStr+".";
    for (i=0;i<nAfterDot;i++){
      resultStr = resultStr+"0";
    }
    return resultStr;
  }
  else{
    if ((strLen - dotPos - 1) >= nAfterDot){
      nAfter = dotPos + nAfterDot + 1;
      nTen =1;
      for(j=0;j<nAfterDot;j++){
        nTen = nTen*10;
      }
      resultStr = Math.round(parseFloat(srcStr)*nTen)/nTen;
      return resultStr;
    }
    else{
      resultStr = srcStr;
      for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++){
        resultStr = resultStr+"0";
      }
      return resultStr;
    }
  }
}
</script>
<p><font size="4">&nbsp; </font></p>

</BODY></HTML>


&<;&lt;/textarea&>;&gt;


本篇文章發表於2015-06-12 20:49
1樓
作者回應

wowo
檢舉此回應
程式標籤: 功能使用失敗
煩請各位大大
耐心幫忙
本篇文章回覆於2015-06-12 20:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

wowo
檢舉此回應
我是asp 但沒asp可以選
在試一次程式標籤 php




本篇文章回覆於2015-06-12 21:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

香帥
檢舉此回應
請先將45行
if( varI = varL3 )
改為
if( varI == varL3 )
本篇文章回覆於2015-06-12 23:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

香帥
檢舉此回應
另外程式碼第43行加入
varX = document.form1.varX.value;
這樣就可以正確顯示了
測試網址在
http://ap.a168a.com/compare/a.htm
本篇文章回覆於2015-06-12 23:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

香帥
檢舉此回應
補充第44行也要加入
varI = document.form1.varI.value;
本篇文章回覆於2015-06-12 23:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

wowo
檢舉此回應
DEAR 香帥大大

謝謝你的幫忙
我已依據 香帥大大的指導修改了
程式有2個計算式
其中一個已OK
但是還有一個重新輸入不同的數值後
計算式會計算
但是判斷的部份無法動作
可以再麻煩你幫我看看嗎

在varL2 varL3..等等欄位重新輸入新的數值
欄位 varI 會自動計算
但是varJ varK 這二個欄位無更新
欄位varJ 一直顯示 > ,而欄位 varK 則一直顯示 NG

--第2計算式-----------
欄位 varX 會自動計算
varY varZ 這二個欄位已經可以更新了
--------------------------




以下是更新後的程式
再次麻煩了..謝謝

本篇文章回覆於2015-06-13 08:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

香帥
檢舉此回應
我有幫您更新程式測試(如我server測試網址)
http://ap.a168a.com/compare/a2.htm
測試結果如下

上圖第一次輸入值
下圖第二次輸入值(變更L3由4改為2)
varJ,varK都會變動,不會像您說的兩者都不變喔
請到我的server測試,然後將您得到的圖上傳,再解說清楚



本篇文章回覆於2015-06-13 13:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

wowo
檢舉此回應
dear 香帥大大

好奇怪,怎麼好了
會是我先開舊程式,數值還未清掉的關係嗎?
萬分感謝

可以再請教一個問題嗎
L2 輸入300 L3輸入200
得到的值是 200 = L3(正確判斷式應該是這樣)
但是判斷式 200 > 200 判斷 NG

這個有辦法修改嗎
再次麻煩了
謝謝
本篇文章回覆於2015-06-13 15:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

wowo
檢舉此回應
DEAR 香帥大大

程式還有有點怪怪
多測試幾次後
得到的數值就不對了

本篇文章回覆於2015-06-13 15:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
最有價值解答

香帥
檢舉此回應
因為變成文字比較,所以會有所不同,因此
程式碼47-57行請改為

測試網址在
http://ap.a168a.com/compare/a5.htm
本篇文章回覆於2015-06-13 17:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

wowo
檢舉此回應
dear 香帥大大

謝謝你不厭其煩幫我解決問題
現在程式已經能正常執行了
再次謝謝
本篇文章回覆於2015-06-13 22:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.