当前位置: 首页 > 面试题库 >

在Swift中测试十进制是否为整数

叶谦
2023-03-14
问题内容

使用Swift 3。

我在网上发现许多奇怪的解决方案,用于检查Decimal对象是否为整数。一切都比需要的复杂得多。

这是我的解决方案:

extension Decimal {
    var isWholeNumber: Bool {
        return self.exponent == 1
    }
}

在我的测试中,这可行。我的问题是我缺少明显的东西吗?


问题答案:

感谢您的评论!这是我现在正在使用的。

extension Decimal {
    var isWholeNumber: Bool { 
        return self.isZero || (self.isNormal && self.exponent >= 0) 
    }
}


 类似资料:
  • 问题内容: 如何在Swift中将Int转换为UInt8?例。我想将数字22转换为0b00010110 问题答案: 您可以使用带有参数的初始化程序将十进制值转换为人类可读的二进制 表示形式 : 如果您愿意,也可以很容易地用任意数量的零填充它: 斯威夫特5

  • 问题内容: 我正在寻找一种简单的方法来在Swift中将二进制数转换为十进制数。例如,二进制的“ 10”变为十进制的“ 2”。 谢谢, 问题答案: 更新 为 斯威夫特2: 所有整数类型有 现在的方法,该方法根据给定的基数将字符串转换为整数: (先前的答案:) 您可以简单地使用BSD库函数,该函数根据给定的基数将字符串转换为数字:

  • 问题内容: 我想知道的是最有效的代码转换方式(迅速2): 十进制到二进制 二进制到十进制 十进制到十六进制 十六进制到十进制 二进制到十六进制 十六进制到二进制 我已经有了实现该目标的基本且漫长的方法,但是我想找到一种非常有效的方法。 抱歉,问题有点长… 问题答案: 两者和都有带有(基)的初始化程序。结合这些,您可以实现所有转化:

  • 我有十六进制字符串,例如“0x103E”,我想将其转换为整数。意思是to我尝试了但它给出了数字格式异常。我如何实现这一点?

  • 问题内容: 我写了一些代码将十六进制显示字符串转换为十进制整数。但是,当输入类似100a或625b(带有字母的东西)时,我得到了这样的错误: java.lang.NumberFormatException:对于输入字符串:java.lang.Integer.parseInt(未知源)处的java.lang.NumberFormatException.forInputString(未知源)处为“ 1

  • 我正在写一个Rust程序,读取I2C总线并保存数据。当我读取I2C总线时,我会得到十六进制值,比如,,等等。 现在,我只能将其作为字符串处理并按原样保存。有没有办法把它解析成一个整数?它有内置的功能吗?