台灣最大程式設計社群網站
線上人數
1442
 
會員總數:246631
討論主題:190057
歡迎您免費加入會員
討論區列表 >> Java Script/ Node.js >> 想請問一下,值取小數點第二位問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
想請問一下,值取小數點第二位問題
價值 : 50 QP  點閱數:1246 回應數:4
樓主

mars
門外漢
0 2
39 3
發送站內信


<bady>
<div role="main" class="ui-content">
<table id="mytable" width="300">
<tbody>
<tr>
<td width="100" class="td01">Items</td>
<td width="100" class="td01">Weight</td>
<td width="100" class="td01">Qty</td>
<td width="100" class="td01">Total</td>
</tr>
<tr>
<td width="100">V60100</td>
<td>
<input name="b1" type="text" size="12" id="b1" value="5.75">
</td>
<td>
<input name="b2" type="text" size="12" id="b2" value="0">
</td>
<td>
<input name="b3" type="text" size="12" id="b3">
</td>
</tr>
<tr>
<td width="100">V60150</td>
<td>
<input name="b4" type="text" size="12" id="b4" value="8.63">
</td>
<td>
<input name="b5" type="text" size="12" id="b5" value="0">
</td>
<td>
<input name="b6" type="text" size="12" id="b6">
</td>
</tr>
<tr>
<td width="100">V60200</td>
<td>
<input name="b7" type="text" size="12" id="b7" value="11.42">
</td>
<td>
<input name="b8" type="text" size="12" id="b8" value="0">
</td>
<td>
<input name="b9" type="text" size="12" id="b9">
</td>
</tr>

</tbody>
</table>總重:
<input name="b10" type="text" size="12" id="b10">
<input name="b11" type="hidden" size="12" id="b11" value="0">
<input type="button" value="清除" onclick="ddo1()">
<input type="button" value="運算" onclick="action1()">
<br>
</div>
</bady>
</div>

<script language="javascript">
function ddo1() {
var i = 1 ;
var j = 2;
var z = 3;
var x = 1;
var y= 0;
for(i=1;i<4;i++){

if (document.getElementById("b"+z).value ="0"
)
{ document.getElementById("b"+j).value = 0 }

document.getElementById("b"+z).value=
parseFloat(document.getElementById("b"+x).value*
document.getElementById("b11").value)

y= y + parseFloat(document.getElementById("b"+z).value);
z=z+3;
j=j+3;
x=x+3;
if (i ==3 ){ //可以用n-1
document.getElementById("b10").value= y
}

}

}
</script>



<script language="javascript">
function action1() { // Double ddo()
var i = 1 ;
var j = 2;
var z = 3;
var x = 1;
var y= 0;
for(i=1;i<4;i++){
if (document.getElementById("b"+j).value == "" )
{ document.getElementById("b"+j).value = 0 }
else if ( isNaN (document.getElementById("b"+j).value )
)
{ alert("空格內需等於數字")

}
document.getElementById("b"+z).value=
parseFloat( document.getElementById("b"+x).value)*
parseFloat( document.getElementById("b"+j).value)
y= y + parseFloat(document.getElementById("b"+z).value);
z=z+3;
j=j+3;
x=x+3;
if (i ==3 ){ //可以用n-1
document.getElementById("b10").value= y
}

}

}
</script>

想請問一下,我要怎麼在把值設定取到小數點第二位,用了Math.round跟tofixed(2)兩種都沒有辦法想知道是哪裡用錯了



搜尋相關Tags的文章: [ 取小數點第二位 ] ,
本篇文章發表於2016-06-28 15:07
1樓
回應

彩虹
檢舉此回應
把你這邊
document.getElementById("b10").value= y

改成這樣
document.getElementById("b10").value= y.toFixed(2)
本篇文章回覆於2016-06-28 16:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

mars
檢舉此回應
謝謝你,彩虹
但我是想說直接在TOTAL那一欄位,設定到小數點第二位呢?
有甚麼方式嗎?
本篇文章回覆於2016-06-28 16:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

彩虹
檢舉此回應
把你這三行,改成我下面這一行
document.getElementById("b"+z).value=
parseFloat( document.getElementById("b"+x).value)*
parseFloat( document.getElementById("b"+j).value)

如下
document.getElementById("b"+z).value=(parseFloat( document.getElementById("b"+x).value)*parseFloat( document.getElementById("b"+j).value)).toFixed(2)

原理只是把相乘的算式「parseFloat( document.getElementById("b"+x).value)*parseFloat( document.getElementById("b"+j).value)」
左右加上 () 括弧
再搭配toFixed(2)

正確範例:
(xxx*yyy).toFixed(2)

錯誤範例:
xxx*yyy.toFixed(2) 因為他這樣只是針對yyy到小數第二位
本篇文章回覆於2016-06-28 17:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

mars
檢舉此回應
恩恩,謝謝你唷
我剛剛也發現我放置的位置搞錯了,所以我轉了一下跟你用一樣的方式,就解決了!! 謝謝你^^
本篇文章回覆於2016-06-28 17:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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