繁体   English   中英

在 JES 中将 int 转换为二进制?

[英]Convert int to binary in JES?

我正在尝试将int转换为二进制字符串。 使用bin()函数将非常容易,但这在使用Jython 2.5.2 JES 中不可用。

我尝试使用这个:

def convertToBinary(n):
   string = ''
   if n > 1:
     convertToBinary(n//2)
   string = string  + str(n%2)
   print string

dec = 34
convertToBinary(dec)
print()

但是str()没有转换它。 我尝试删除str ,认为n % 2已经是一个字符串,但不是。

有任何想法吗?

您可以使用三元运算。

def convertToBinary(n):
    s = ""
    if n > 1:
        convertToBinary(n // 2)
    s = s + ("0" if n % 2 == 0 else "1")
    print s

或者,您可以使用 Java 方式将整数转换为字符串。

import java.lang

def convertToBinary(n):
    s = ""
    if n > 1:
        convertToBinary(n // 2)
    s = s + java.lang.String.valueOf(n % 2)
    print s

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM