亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

HTML JavaScript 不允許也不考慮小數

HTML JavaScript 不允許也不考慮小數

PHP
烙印99 2023-03-04 14:34:12
    我正在嘗試創建一個計算器,以評估國際在線采購的兩種付款方式,以做出最好的決定,要么繼續使用網站原始貨幣 [不同于買家信用卡貨幣],在這種情況下,買家銀行匯率將適用, 或繼續網站預設匯率以匹配買家信用卡貨幣而忽略銀行匯率。這個想法是1 美元等于3.75,有時會有所不同,但很少有網站設置自己的匯率,在我們的例子中,有時如果客戶使用網站匯率購買,它會達到1 美元等于4。我試圖讓客戶更好地了解繼續進行哪個選項,以及添加許多要考慮的字段,以顯示可能的最佳結果,例如銀行手續費。我有一個問題,我無法將銀行手續費作為百分比輸入并在計算中考慮。因此,我認為客戶可以將百分比作為值輸入,我將在代碼中進行轉換。例如,銀行手續費是2.75%,我會讓客戶輸入一個值2.75,然后在代碼中,我會通過換算讓它工作2.75 / 100。經過測試,我可以看到代碼只計算整數百分比,2或3,依此類推;它不考慮像我的情況下的小數2.75!請盡可能幫助查看代碼修改的解決方案。謝謝您,并感謝您的見解!// Do all your JavaScript in a separate JavaScript sectionvar main = document.getElementById("Dep-main");var joint1 = document.getElementById("Dep-joint1");var joint2 = document.getElementById("Dep-joint2");var joint3 = document.getElementById("Dep-joint3");var total = document.getElementById("Total-dep");var inputs = Array.prototype.slice.call(document.querySelectorAll("div > input"));inputs.forEach(function(input){  input.addEventListener("blur", function(){    // Always supply the second argument to parseInt() (the radix) so you    // dont' get non-base 10 answers.    total.value = (parseInt(main.value, 10) * parseInt(joint1.value, 10)) + (parseInt(joint3.value, 10)) + (parseInt(main.value, 10) * ((parseInt(joint2.value, 10) / 100)));  });});label {    display: block;    text-align: center;    line-height: 150%;    font-size: .85em;}input[type=text], select {  width: 100%;  padding: 12px 20px;  margin: 8px 0;  display: inline-block;  border: 1px solid #ccc;  border-radius: 4px;  box-sizing: border-box;  text-align: center;}input[type=submit] {  width: 100%;  background-color: #4CAF50;  color: white;  padding: 14px 20px;  margin: 8px 0;  border: none;  border-radius: 4px;  cursor: pointer;}input[type=submit]:hover {  background-color: #45a049;}div {  border-radius: 5px;  background-color: #f2f2f2;  padding: 20px;}.center {  margin: auto;  width: 60%;  border: 3px solid #73AD21;  padding: 10px;}
查看完整描述

4 回答

?
手掌心

TA貢獻1942條經驗 獲得超3個贊

您正在使用 parseInt() (它將結果轉換為整數),請嘗試改用 parseFloat() 。



查看完整回答
反對 回復 2023-03-04
?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

parseInt() 函數就是問題的過程。每當使用此函數時,它都會通過截斷十進制值將傳遞給它的值轉換為整數。例如parseInt("2.7")= 2。您可以改用以下內容。

total.value = (parseInt(main.value, 10) * parseInt(joint1.value, 10)) + (parseInt(joint3.value, 10)) + (parseInt(main.value, 10) * ((parseFloat(joint2.value, 10) / 100)));


查看完整回答
反對 回復 2023-03-04
?
慕后森

TA貢獻1802條經驗 獲得超5個贊

用 parseFloat 替換 parseInt,你可以使用 .toFixed 和 parse float 來限制 deci



查看完整回答
反對 回復 2023-03-04
?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

對于十進制數,您必須使用.parseFloat()函數,而不是.pareseInt()


// Do all your JavaScript in a separate JavaScript section

var main = document.getElementById("Dep-main");

var joint1 = document.getElementById("Dep-joint1");

var joint2 = document.getElementById("Dep-joint2");

var joint3 = document.getElementById("Dep-joint3");

var total = document.getElementById("Total-dep");


var inputs = Array.prototype.slice.call(document.querySelectorAll("div > input"));


inputs.forEach(function(input){


? input.addEventListener("blur", function(){

? ? // Always supply the second argument to parseInt() (the radix) so you

? ? // dont' get non-base 10 answers.

? ? total.value = (parseFloat(main.value) * parseFloat(joint1.value)) + (parseFloat(joint3.value)) + (parseFloat(main.value) * ((parseFloat(joint2.value) / 100)));

? });

});

label {

? ? display: block;

? ? text-align: center;

? ? line-height: 150%;

? ? font-size: .85em;

}


input[type=text], select {

? width: 100%;

? padding: 12px 20px;

? margin: 8px 0;

? display: inline-block;

? border: 1px solid #ccc;

? border-radius: 4px;

? box-sizing: border-box;

? text-align: center;

}


input[type=submit] {

? width: 100%;

? background-color: #4CAF50;

? color: white;

? padding: 14px 20px;

? margin: 8px 0;

? border: none;

? border-radius: 4px;

? cursor: pointer;

}


input[type=submit]:hover {

? background-color: #45a049;

}


div {

? border-radius: 5px;

? background-color: #f2f2f2;

? padding: 20px;

}


.center {

? margin: auto;

? width: 60%;

? border: 3px solid #73AD21;

? padding: 10px;

}

<!DOCTYPE html>

<html>


<body>


<br>


<center><img src="https://logos-download.com/wp-content/uploads/2016/03/Asos_logo.png" width="270" height="108"></center>


<br>


<center><h3>Best Payment Option Evaluator</h3></center>


<br>


<div class="center">


? ? <label for="dep-nothing">Enter ASOS total amount in SAR [using ASOS Site Exchange Rate]</label>

? ? <input type="text" id="dep-nothing" value="0">

? ? <hr>

? ? <label for="dep-main">Ebter total amount in USD</label>

? ? <input type="text" id="Dep-main" value="0">


? ? <label for="dep-joint1">Enter todays exchange rate from your bank [1 USD = X SAR]</label>

? ? <input type="text" id="Dep-joint1" value="0">


? ? <label for="dep-joint2">Enter bank fees in numbers [will be converted into percentage]</label>

? ? <input type="text" id="Dep-joint2" value="0">


? ? <label for="dep-joint3">Enter buyer commission value in SAR</label>

? ? <input type="text" id="Dep-joint3" value="0">

? ??

? ? <label for="total-dep"><b>If you proceed with USD, below amount will be deducted from your bank accoutn in SAR , <mark>Approx.</mark></b></label>

? ? <input type="text" id="Total-dep"? disabled readonly>

??


</div>


<br>


?

</body>



</html>





查看完整回答
反對 回復 2023-03-04
  • 4 回答
  • 0 關注
  • 153 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號