![](/img/trans.png)
[英]Delete digits after two decimal point not round number in javascript?
[英]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.