【问题标题】:Multiply a number in swift with more than 10 digits快速乘以超过 10 位的数字
【发布时间】:2019-01-04 18:08:54
【问题描述】:

我想执行如下所示的乘法:

let a = 10
let b = a * (1e + 9)

我该怎么做??

在乘法之后,我怎样才能以这种格式显示结果?

点赞b = 1e + 10

【问题讨论】:

  • 请阅读错误信息:很清楚(顺便科学记数法必须是1e+9,不带空格)
  • @MartinR 这不可能是重复的。
  • 您只能将科学计数法的结果显示为字符串:print(String(format: "%g", b))
  • 您必须使用 NumberFormatter 并将其转换为十进制样式并计算 @Madhur

标签: swift multiplication


【解决方案1】:

当你使用科学记数法来声明一个数字字面量时,它的类型被推断为Double,所以你需要将它转换为Int,以便能够将Int与你的数字字面量相乘(或如果您实际上期望得到Double 结果,则相反)。

还要确保你的科学记数法中没有空格(你也可以省略+)。

let ten = 10
let multiplied = ten * Int(1e+9)

如果科学文字实际上是 Double,请将 Int 转换为 Double,而不是相反:

let one = Double(ten) * 1e-1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多