2016-10-17 3 views
-1

Мой скрипт работает нормально, но порой результаты похожи на 100.6456489764, но я хочу вместо этого показать, как 100.64 или всего 100, но я не понимаю, как это исправить. Вот мой бит кодаКак не показывать десятичные знаки на этом

был бы признателен за вашу любезную помощь и вклад в этом

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xml:lang="en-CA" lang="en-CA" xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script language="Javascript"> 
function dosum() 
{ 
    var TD = document.temps.OD.value /document.temps.PV.value *100; 
    var MLTV = document.temps.MA.value /document.temps.PV.value *100 
    document.temps.LTV.value = TD + MLTV 
}     
</script> 
<script type="text/javascript" language="javascript"> 
function display_amount(amount) 
{ 
    var currency = '$'; 

    if(isNumeric(amount)) 
    { 
     if(amount < 0) 
      return '-' + currency + Math.abs(Math.round(amount,2)); 
     else 
      return currency + Math.round(amount, 2); 
    } 
    else 
     return amount; 

} 
</script> 
<title>LTV</title> 
</head> 
<body> 
<FORM NAME="temps"> 
<TABLE bgcolor="#CCCCCC" cellspacing="0" cellpadding="10" width="350"> 
    <TR><TD WIDTH=153 bgcolor="blue"> 
    <font color="yellow"><b>Property Value:</b></font></TD> 
    <TD WIDTH=153 bgcolor="#0fcf00"> 
    <p style="margin-top: 0; margin-bottom: 0"> 
    $<INPUT TYPE="TEXT" NAME="PV" onChange="dosum()" SIZE="8" VALUE=""></p></TD></TR> 
    <TR><TD WIDTH=153 bgcolor="green"> 
    <font color="white"><b>Mortgage Balance:</b></font></TD> 
    <TD WIDTH=153 bgcolor="red"> 
    $<INPUT NAME="MA" onChange="dosum()" SIZE="8" VALUE=""></TD></TR> 
    <TR><TD WIDTH=153 bgcolor="#ddd000"> 
    <font color="green"><b>Additional Debts:</b></font></TD> 
    <TD WIDTH=153 bgcolor="orange"> 
    $<INPUT NAME="OD" onChange="dosum()" SIZE="8" VALUE=""></TD></TR> 
    <TR><TD WIDTH=153 bgcolor="#333000"> <b><font color="#ffffff"> 
    <INPUT TYPE="NUMBER" NAME="LTV" SIZE="10" readonly>%</font></b></TD> 
    <TD WIDTH=153 bgcolor="#333000"> 
    <INPUT TYPE="submit" VALUE="Calculate"></div></TD> 
    </TR> 
    </TABLE> 
    </FORM> 

</body> 
</html> 

заранее спасибо

+0

Таким образом, 'font' элемент устарел в течение длительного времени ... Кроме того, обратите внимание на [' toFixed'] (HTTPS : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed). –

+2

Аналогичная проблема: http://stackoverflow.com/questions/11832914/round-to-at-most-2-decimal-places-in-javascript – roger

ответ

1

Использование .toFixed (2), чтобы округлить значение до 2 цифр.

function dosum() { 
    var TD = document.temps.OD.value/document.temps.PV.value * 100; 
    var MLTV = document.temps.MA.value/document.temps.PV.value * 100 
    document.temps.LTV.value = (TD + MLTV).toFixed(2); 
} 
1

использование

Math.round(num * 100)/100 

Или что-то вроде этого

var discount = (price/listprice).toFixed(2); 
0

Для 2 цифр точности использования toFixed()

function dosum() 
{ 
    var TD = document.temps.OD.value /document.temps.PV.value *100; 
    var MLTV = document.temps.MA.value /document.temps.PV.value *100 
    document.temps.LTV.value = (TD + MLTV).toFixed(2); 
}  
+0

спасибо soo much –

Смежные вопросы