簡體   English   中英

數字轉換器未轉換小數點后的數字

[英]Number converter is not converting digits after decimal point

實際上,我是一名學生,我剛開始用Java編程。 我創建了一個二進制到八進制到十六進制到十進制的轉換器,它的效果很好,但是小數點后的數字沒有轉換,請根據需要幫助我

我不明白問題所在

我的項目代碼

  <html>
    <head>
        <title> Convertor </title>




</head>
<body>
    <input id="bin" oninput="Convert('bin', 2)" placeholder="bin" spellcheck="false">
<input id="oct" oninput="Convert('oct', 8)" placeholder="oct" spellcheck="false">
<input id="dec" oninput="Convert('dec', 10)" placeholder="dec" spellcheck="false">
<input id="hex" oninput="Convert('hex', 16)" placeholder="hex" spellcheck="false">

    <script>


    function id(id) {
  return document.getElementById(id);
}
function Convert(s, n) {
  if(parseInt(id(s).value, n)) {
    if("bin" != s) { id("bin").value = parseInt(id(s).value, n).toString(2) }
    if("oct" != s) { id("oct").value = parseInt(id(s).value, n).toString(8) }
    if("dec" != s) { id("dec").value = parseInt(id(s).value, n).toString(10) }
    if("hex" != s) { id("hex").value = parseInt(id(s).value, n).toString(16) }
  } else {
    if("bin" != s) { id("bin").value = "" }
    if("oct" != s) { id("oct").value = "" }
    if("dec" != s) { id("dec").value = "" }
    if("hex" != s) { id("hex").value = "" }
  }
}

    </script>

</body>

使用parseFloat而不是parseInt來解析十進制數字。 使用parseFloat時,不能傳遞第二個參數-基數。

Fathyb提到parseFloat沒有基數參數。 這是一個簡單的原因。 將3.5轉換為二進制時,您期望得到什么結果? 3等於0000011,5等於0000101。但是0000011.00000101不是有效的二進制格式。

就我所知,這意味着我的代碼很好,因為不支持浮點數。 ; O)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM