为什么我的输出不是以 8 为基数
Why isn't my output in base 8?
所以我正在寻找一个base8时钟。为了方便起见,仍然使用一天二十四 308 小时。我本以为在按顺序抛出它们并显示它们之前的最后一步将单个值转换为基数 8 会起作用,但我得到了奇怪的值,这些值远不及当前时间。它甚至给了我这样的数字,比如9。Base8 没有 9,它有 11个 8。
是的,我基于我在网站上找到的时钟代码,我变得懒惰。也许这就是我的垮台。但是有人能告诉我哪里出错了吗?
<!--
/*By JavaScript Kit
http://javascriptkit.com
Credit MUST stay intact for use
*/
function show2() {
if (!document.all && !document.getElementById)
return
thelement = document.getElementById ? document.getElementById("tick2") : document.all.tick2
var Digital = new Date();
var hours = Digital.getHours();
var minutes = Digital.getMinutes();
var seconds = Digital.getSeconds();
var hour8 = parseInt(hours, 8);
var min8 = parseInt(minutes, 8);
var sec8 = parseInt(seconds, 8);
if (hour8 == 0)
hour8 = 10
var ctime = hour8 + ":" + min8 + ":" + sec8
thelement.innerHTML = "<b style='font-size:14;color:blue;'>" + ctime + "</b>"
setTimeout("show2()", 1000)
}
window.onload = show2
//-->
<span id=tick2>
</span>
除了你需要做的事实
setTimeout(show2, 1000)
如果没有 " 和 (),你对 parseInt 的使用是错误的,基数是字符串已经表达的基础。
你需要这样做
var hour8 = parseInt(hours).toString(8)
看这个 jsFiddle
您错误地使用了 parseInt 函数。第二个参数是"一个介于 2 和 36 之间的整数,表示所提供字符串的基数(数学数字系统中的基数)。由于您的输入是十进制的,但您的参数表示它是八进制的,因此该函数无法按预期工作。
相关文章:
- 我可以把茉莉花规格报告器的输出写入文件吗
- 为什么我的Alexa技能测试显示正确的lambda输出,但在开发人员控制台中测试时却给出错误消息
- 为什么这个子节点给我那个奇怪的输出
- 我如何让我的 var 错误消息输出是使用字段还是字段,具体取决于留空的字段数
- 我的文本区域没有正确记录输出
- 让我的javascript输出显示在HTML中
- 节点console.log默认截断输出.我怎样才能看到完整的输出
- 为什么console.log()在我的代码中输出意外的0
- 如何将时间戳注释添加到我的输出文件中
- 当我从有界数据派生输出时,为什么我的自定义指令不更新
- 为什么我的输出未定义
- JS - 为什么我的输出是对象 { } 而不是:MyObj { }
- 为什么我的输出不是以 8 为基数
- PHP在我的输出中放置了一些奇怪的字符
- 为什么我的输出中没有定义类型
- 我的输出没有显示
- 我的输出有什么问题?
- 如何将我的输出转换为Javascript中的矩阵
- 我的输出显示“;[对象HTMLInputElement]”;而不是我输入的总和
- 如何把边界围绕我的输出在PHPexcel在一个动态的方式